@@ -372,7 +372,9 @@ inferBinder val (PositionedBinder pos _ binder) =
372372 warnAndRethrowWithPosition pos $ inferBinder val binder
373373-- TODO: When adding support for polymorphic types, check subsumption here
374374-- and change the definition of `binderRequiresMonotype`
375−inferBinder val (TypedBinder ty binder) = val =?= ty >> inferBinder val binder
375+inferBinder val (TypedBinder ty binder) = do
376+ ty' <- replaceAllTypeSynonyms ty
377+ val =?= ty' >> inferBinder val binder
376378
377379-- | Returns true if a binder requires its argument type to be a monotype.
378380-- | If this is the case, we need to instantiate any polymorphic types before checking binders.