fixed letrec parser