Letrec + gen_sym