Test ghci.debugger/scripts/print018 covers this
-- | The inverse function. Strip the GHC.Base.Unknowns in the type of the id, they correspond to tyvars. The caller must provide an infinite list of fresh names
stripUnknowns :: [Name] -> Id -> Id
-stripUnknowns names id = setIdType id . sigmaType . fst . go names . idType
+stripUnknowns names id = setIdType id . fst . go names . idType
$ id
where
go tyvarsNames@(v:vv) ty
isPointed,
isFullyEvaluatedTerm,
-- unsafeDeepSeq,
-
- sigmaType
) where
#include "HsVersions.h"
-- Is this defined elsewhere?
--- Find all free tyvars and insert the appropiate ForAll.
+-- Generalize the type: find all free tyvars and wrap in the appropiate ForAll.
sigmaType ty = mkForAllTys (varSetElems$ tyVarsOfType (dropForAlls ty)) ty
{-