added empty letrec case