letrec expand