   (_terms call)[1..]
 
 _terms = (form) ->
-  form[1...-1].filter ({label}) -> label isnt 'whitespace'
+  noWhitespace form[1...-1]
 
 _snd = ([a, b]) -> b
 

    match = input.match ///
      ^ # must be at the start
      (
        \x20+ # spaces
      | \n # newline
      | [#{controls}] # delims
      | /([^\\x20]|\\/)([^/]|\\/)*?/ # regex


controls = '\\(\\)\\[\\]\\{\\}'

astize = (tokens) ->
  tree = []
  current = []
  stack = [[]]
  indentAccumulator = []
  for token in tokens
    if token.symbol is ' ' and indentAccumulator?.length <= 2 * (stack.length - 1)
      indentAccumulator.push token
    else
      if indentAccumulator?.length > 0
        stack[stack.length - 1].push createIndent indentAccumulator
      indentAccumulator = undefined
      if token.symbol is '\n'
        indentAccumulator = []
      if token.symbol in leftDelims
        form = [token]
        form.start = token.start
        stack.push form
      else if token.symbol in rightDelims
        closed = stack.pop()
        if not stack[stack.length - 1]
          throw new Error "Missing opening delimeter matching #{token.symbol}"
        if token.symbol isnt delims[closed[0].symbol]
          throw new Error "Wrong closing delimiter #{token.symbol} for opening delimiter #{closed[0].symbol}"
        closed.push token
        closed.end = token.end
        stack[stack.length - 1].push closed
      else
        stack[stack.length - 1].push token
  ast = stack[0][0]
  if not ast
    throw new Error "Missing closing delimeter matching #{stack[stack.length - 1][0].symbol}"
