Another unification fix

Removes 'matching' hack, which would sometimes cause function
applications in patterns to be unified when they shouldn't have been.
Fixes #898.