   types: ctx._scope()
   subs: ctx.substitution.fails
   ast: ast
-  compiled: library + immutable + compiledDefinitions.js + compiledExpression.js
+  compiled: library + immutable + compiledDefinitions.js + '\n' + compiledExpression.js
 
 typeEnumaration = (ctx) ->
   values mapMap _type, ctx._scope()

  if isTranslated expanded
    expanded
  else
    expressionCompile ctx, expanded

isTranslated = (result) ->
  (isSimpleTranslated result) or (Array.isArray result) and (isSimpleTranslated result[0])

  """
  'g', 4

  'syntax macro'
  """
  id (syntax [x]
    x)
  """
  '(id 42)', 42

  # TODO: support matching with the same name
  #       to implement this we need the iife to take as arguments all variables
  #       with the same names, since JavaScript shadows it too strongly and
