functional :: Fun2 :: call
fun call(a0: A0,a1: A1): RESULT is abstract
redef fun call(a0,a1): RESULT is intern
redef fun call(x, y) do return x + y end
redef fun call(x, y) do if x < y then return x end return y end