functional :: Proc1 :: call
fun call(a0: A0) is abstract
redef fun call(a0) is intern
redef fun call(x) do x.item += 1 end