+
+type NtEnv = M.Map Tcon CoercionKind
+
+mkNtEnv :: Menv -> NtEnv
+mkNtEnv menv =
+ foldl M.union M.empty $
+ map (\ (_,e) ->
+ foldr (\ (_,thing) rest ->
+ case thing of
+ Kind _ -> rest
+ Coercion d@(DefinedCoercion _ (lhs,_)) ->
+ case splitTyConApp_maybe lhs of
+ Just ((_,tc1),_) -> M.insert tc1 d rest
+ _ -> rest) M.empty (etolist (tcenv_ e))) (etolist menv)