consistent letrec