protected internal virtual SymbolicExpression VisitNumber(NumberExpression expression) => expression;
public static SymbolicExpression Constant(ulong value) => NumberExpression.Create(value);