     for own name, fn of arg
       @prototype[name] = if traceEnabled then makeTracing name, fn else fn
 
+# Utility functions:
+removeAll = (arr, x) ->
+  y for y in arr when y isnt x
+
+print = (obj) ->
+  console.log JSON.stringify obj, null, 2
+
 class Node
   leftApplyString: -> '' + @
   rightApplyString: -> '' + @

  nodes = parser.parse expr
  console.log JSON.stringify nodes, null, 2

console.log (Lambda.parse '(λx.λy.x y x) y b').reduce().toString()
#Lambda.printAst 'λx y z. y z'

  # Log indented messages.
  log = (msg) ->
    ind = ''
    for i in [0...indent] then ind += '| '
    console.log "#{ind}#{msg}"

  makeTracing = (name, fn) ->
