Passing a binding environment into unify() lets us bypass making substitutions.