 jsVarDeclarationsTranslate = ({names}) ->
   "var #{listOf names};"
 
+
+jsWrap = (value) ->
+  {js: jsWrapTranslate, value}
+
+jsWrapTranslate = ({value}) ->
+  "(#{value})"
+
 blockOfLines = (lines) ->
   if lines.length is 0
     ''

  types: ctx._scope()
  subs: ctx.substitution.fails
  ast: ast
  compiled: library + immutable + compiledDefinitions.js + '\n' + compiledExpression.js

typeEnumaration = (ctx) ->
  values mapMap _type, ctx._scope()

    [expression] = _terms ast
    {js} = compileCtxAstToJs topLevelExpression, ctx, expression
    (finalizeTypes ctx, expression)
    js: library + immutable + (listOfLines map lookupJs, (reverse modules)) + '\n;' + js
    ast: ast
    errors: checkTypes ctx

