public int eval(Neg <X> n) { return(-Overloads.eval <EvalX, X>(n.x)); }
public int eval(Add <X, Y> a) { return(Overloads.eval <EvalX, X>(a.x) + Overloads.eval <EvalY, Y>(a.y)); }