           undefined
     args
 
+jsCallMethod = (object, methodName, args) ->
+  (jsCall (jsAccess object, methodName), args)
+
 jsAccess = (lhs, name) ->
   {js: jsAccessTranslate, lhs, name}
 

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


      expressionCompile ctx, replicate call,
        (call_ (join [expandedOp], (_arguments call)))

callMacroCompile = (ctx, call) ->
  op = _operator call
  op.label = 'keyword'
  expanded = ctx.macros()[op.symbol] ctx, call
  if isTranslated expanded
    expanded
  else
    macroResultCompile ctx, expanded

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