unwrapFamInstScrut :: TyCon -> [Type] -> CoreExpr -> CoreExpr
unwrapFamInstScrut tycon args scrut
  | Just co_con <- tyConFamilyCoercion_maybe tycon
  = mkCast scrut (mkUnbranchedAxInstCo Representational co_con args) -- data instances only
  | otherwise
  = scrut
unwrapFamInstScrut :: TyCon -> [Type] -> CoreExpr -> CoreExpr
unwrapFamInstScrut tycon args scrut
  | Just co_con <- tyConFamilyCoercion_maybe tycon
  = mkCast scrut (mkUnbranchedAxInstCo Representational co_con args) -- data instances only
  | otherwise
  = scrut
unwrapFamInstScrut tycon args scrut
  | Just co_con <- tyConFamilyCoercion_maybe tycon
  = mkCast scrut (mkUnbranchedAxInstCo Representational co_con args) -- data instances only
  | otherwise
  = scrut