letrec & define work now