User-written type signatures and unification