addmul ::= fn (x:=0, y:=0) add := x+y, mul := x*y { };