Functions in HsUtils don't have the most general type
In 1aa1d405 the types of a lot of functions in
HsUtils was changed and now they are too restrictive. For example,
nlHsfunTy has the following type.
nlHsFunTy :: LHsType (GhcPass p) -> Rig -> LHsType (GhcPass p) -> LHsType (GhcPass p)
It should instead be given the more general type which will allow it to work as before in many situations.
nlHsFunTy :: (XFunTy p ~ PlaceHolder) => LHsType p -> Rig -> LHsType p -> LHsType p