public abstract void Visit(LetClause expression);
public LetClause Update(LetClause expression, Identifier left, Expression right) { if (expression.Left != left || expression.Right != right) return new LetClause(left, right); return expression; }