mkForeignExportOcc, isLocalName,
NamedThing(..),
)
-import Type ( splitTyConApp_maybe, tyConAppTyCon, splitFunTys, splitForAllTys,
+import Type ( repType, splitTyConApp_maybe,
+ tyConAppTyCon, splitFunTys, splitForAllTys,
Type, mkFunTys, mkForAllTys, mkTyConApp,
mkFunTy, splitAppTy, applyTy, funResultTy
)
showStgType t = text "Hs" <> text (showFFIType t)
showFFIType :: Type -> String
-showFFIType t = getOccString (getName (tyConAppTyCon t))
+showFFIType t = getOccString (getName tc)
+ where
+ tc = case splitTyConApp_maybe (repType t) of
+ Just (tc,_) -> tc
+ Nothing -> pprPanic "showFFIType" (ppr t)
\end{code}