             #throw new Error "Body not typed"
           call.tea =
             if body
-              new Constrained body.tea.constraints,
+              new Constrained (join body.tea.constraints, deferredConstraints),
                 typeFn paramTypeVars..., body.tea?.type
             else
               freshInstance ctx, explicitType

      (: (Fn Char String String))
      (Js.binary "+" what to)))

  my-split (fn [separators text]
    (fold-right distinguish ["" {""}] text)
    distinguish (fn [letter done]
      (if True
        [(& letter seps-in-order) (& "" words)]
        [seps-in-order (& (& letter first-word) rest-words)])
      {first-word ..rest-words} words
      [seps-in-order words] done))

  separators ".,:;! "

  [seps words] (my-split separators "Hello, world!")
  """

    scope.classes = newMap()
    scope.typeNames = newMap()
    scope.typeAliases = newMap()
    scope.deferredConstraints = []
    scope

  newLateScope: ->
