functional :: Fun3 :: defaultinit
interface Fun3[A0,A1,A2,RESULT] super Fun fun call(a0: A0,a1: A1,a2: A2): RESULT is abstract end