functional :: Fun1 :: defaultinit
interface Fun1[A0,RESULT] super Fun fun call(a0: A0): RESULT is abstract end