If there is a Forall-var in the first argument to match throw an error

This should never happen!
Fix bug in match (should bind the forall that was not matched!)
Dirty fix. Apply the substitution until a fix point is found
Fix matching test