@@ -50,11 +50,13 @@ genConstraints interfaces modul =
5050 do let env = Env.initialize (canonicalizeUnions interfaces modul)
5151
5252 ctors <-
53+ {-# SCC elm_compiler_mk_ctor_types #-}
5354 forM (Env.ctorNames env) $ \name ->
5455 do (_, vars, args, result) <- Env.freshDataScheme env name
55− return (name, (vars, foldr (T.==>) result args))
56+ return (name, (vars, foldr T.FunN result args))
5657
5758 importedVars <-
59+ {-# SCC elm_compiler_mk_value_types #-}
5860 mapM (canonicalizeValues env) (Map.toList interfaces)
5961
6062 let allTypes = concat (ctors : importedVars)
@@ -65,6 +67,7 @@ genConstraints interfaces modul =
6567 fvar <- T.mkFlexVar
6668
6769 constraint <-
70+ {-# SCC elm_compiler_constrain #-}
6871 TcExpr.constrain env (Module.program (Module.info modul)) (T.VarN fvar)
6972
7073 return (header, environ constraint)