private IValue desugarChildren(IConstructor o) throws E { for (int i = 0; i < o.arity(); i++) { o = o.set(i, o.get(i).accept(this)); } return fVisitor.visitConstructor(o); }