type A = proc(): A (* @Error Type declaration forms a cycle: A -> A *) end.