abstract Test3Abs = { cat A ; fun f : A -> A ; def f = g ; fun g : A -> A ; def g = f ; }