 
 expressionsCompile = (ctx, list) ->
   expressionCompile ctx, expression for expression in list
-
-macroResultCompile = (ctx, value) ->
-  assign = yes
-  translated = switch typeof value
-    when 'boolean', 'number', 'string' then JSON.stringify value
-    when 'object'
-      kind = Object.prototype.toString.call(value).slice(8, -1)
-      switch kind
-        when 'Date' then (jsNew 'Date', [+value])
-        when 'RegExp' then (jsNew 'RegExp', [value.source])
-        else
-          #TODO: rest of immutable
-          if Immutable.Iterable.isIterable value
-            (jsCallMethod 'Immutable', 'List',
-              [(jsCallMethod 'JSON', 'parse', [JSON.stringify(value.toJS())])])
-          else
-            assign = no
-            expressionCompile ctx, value
-  if assign
-    value = tea: toConstrained typeConstant 'Val'
-    assignCompile ctx, value, translated
-  else
-    translated
 
 tupleCompile = (ctx, form) ->
   elems = _terms form

  serializeAst res

ms[','] = ms_comma = (ctx, call) ->
  (expressionCompile ctx, (_arguments call)[0])

ms.macro = ms_macro = (ctx, call) ->
  hasName = requireName ctx, 'Name required to declare a new instance'

      # operatorCompile ctx, call
      # args = termsCompile ctx, (_arguments call)[0..macroFn.length]
      #callTyping ctx, call
      constantToSource macroFn (_arguments call)...

    # ctx.addMacro macroName, (ctx, call) ->
    #   compiled = termCompile ctx, (fn_ params, body)
