MODULE Main; (* try a nasty recursion through the procedure value *) TYPE T = PROCEDURE (t: T); PROCEDURE P (t: T := P) = BEGIN EVAL t; END P; BEGIN EVAL P; END Main.