Hi, the problem is, as MoP said, the order of function C1 and A1 definition. ( fn A1 = ( C1() ) fn C1 = ( return true ) print (A1()) -- ERROR C1 is undefined for A1) Generates an error because A1 doesn't know what C1() is. The solution is to swap function definitions so C1 is known before A1 call. ( fn C1 = ( return true )…