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

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


module.exports = class Compiler
  constructor: (@opts = {}) ->
    @opts.compilers ?= {}

  # pushes a new function score. Function score stores
  # information about what variables are defined in
