 
 module.exports = class Compiler
   constructor: (@opts = {}) ->
+    @opts.compilers ?= {}
 
   # pushes a new function score. Function score stores
   # information about what variables are defined in

    # the caller needs to know them
    f.argNames = refs
    f


  compileApply: (arr) ->
    if @isIdentifier arr[0]
      compiler = compilers[arr[0].name] or @opts.compilers[arr[0].name]
      return compiler arr[1..], @ if compiler?
    compilers['apply'] arr, @

