         varInfo.type = 'F'
         if v.isAdverb      then varInfo.isAdverb      = true
         if v.isConjunction then varInfo.isConjunction = true
-        if /^[gs]et_.*/.test k then ast.vars[k[4...]] = type: 'X'
+        if /^[gs]et_.*/.test k then ast.vars[k[4..]] = type: 'X'
 
   err = (node, message) ->
     syntaxError message, file: opts.file, line: node.startLine, col: node.startCol, aplCode: opts.aplCode

compileAST = (ast, opts = {}) ->
  ast.scopeDepth = 0
  ast.nSlots = if prelude then prelude.ast.nSlots else 0
  ast.vars = if prelude then ast.vars = Object.create prelude.ast.vars else {}
  do ->
    opts.ctx ?= Object.create vocabulary
    for k, v of opts.ctx when not ast.vars[k]

        # A×A←2 5 <=> 4 25
        render(node[2]).concat renderLHS node[1]
      when 'symbol'
        # r←3 ⋄ get_c←{2×○r} ⋄ get_S←{○r*2}
        # ... before←.01×⌊100×r c S
        # ... r←r+1
        # ... after←.01×⌊100×r c S
        # ... before after <=> (3 18.84 28.27)(4 25.13 50.26)
        name = node[1]
        {vars} = node.scopeNode
        if (v = vars["get_#{name}"])?.type is 'F'
