public static A exp <A>(IntAlg <A> v) { return(v.add(v.lit(3), v.lit(4))); }
public A accept <A>(IntAlg <A> vis) => vis.add(left.accept(vis), right.accept(vis));