       newSet()
   _name = ({name}) -> name
   toDependent = (name, deps) -> {name, deps: map ((name) -> {name}), setToArray deps}
-  constrained = freshInstance (new Context), type
+  constrained = freshInstance fakeContext(), type
   allVars = findFree constrained
   constrainingVars = concatMaps (notConstrained c.types for c in constrained.constraints)...
   constrainingGroups = topologicallySortedGroups mapToArrayVia toDependent, constrainingVars

    #   not isFailed mostGeneralUnifier (freshInstance ctx, def.type).type, type.type
    # [typed, notTyped] = partitionMap typesUnify, validDefinitions
    UNTYPED_PENALTY = -1000000
    scoreAndPrint = (def) ->
      freshedType = freshenType type.type
      checkedType = (freshInstance ctx, def.type).type

  else
    printer type

_fakeContext = undefined
fakeContext = ->
  _fakeContext or= new Context

forallToHumanReadable = (type) ->
  notConstrained = (type) ->
    if type.Types and type.types.length > 1
