public override LNode WithAttrs(Func<LNode, Maybe<LNode>> selector) { var newAttrs = Attrs.WhereSelect(selector); if (newAttrs == Attrs) return this; return WithAttrs(newAttrs); } }