somehow lazily evaluating unify is causing a type error