     scope.boundTypeVariables = newSet()
     scope.classes = newMap()
     scope.typeNames = newMap()
+    scope.typeAliases = newMap()
     scope
 
   newLateScope: ->

      (Js.call (Js.access in "get") {key}))
  """
  """(at 5 data)""", 'b'

  'collections'
  """

            #     name: (ctx.definitionName() if ctx.isAtSimpleDefinition())
            #     params: paramNames
            #     body: (join compiledWheres, [(jsReturn compiledBody)]))])

ms.type = ms_type = (ctx, call) ->
  hasName = requireName ctx, 'Name required to declare new type alias'
  alias = ctx.definitionName()
  if not (isCapital symbol: alias)
    malformed ctx.definitionPattern(), 'Type aliases must start with a capital letter'
  [type] = _arguments call
  ctx.addTypeAlias alias, typeCompile ctx, type
  jsNoop()

  # data
  #   listing or
