code: function exec (ctx, scope, data) {
    console.log('exec', ctx, scope, data)
    var fn = getFunction(ctx, scope, data[0])
    var elements = data.slice(1)
    var params = elements.map(function (p) {
      return Array.isArray(p) ? exec(ctx, scope, p)
        : (p[0] === '$') ? ctx[p] : p
    }).filter(function (p) { return p !== VAR })
    return fn.apply(null, params)
  }
docs: exec a data array