 
 
 # Composer
-compose = ->
-  fns = arrayProto.slice.call(arguments, 0).reverse()
-
-  ->
-    args = arrayProto.slice.call arguments, 0
-    for fn in fns
+compose = (fns...)->
+  (args...) ->
+    for fn in fns.reverse()
       args = [fn.apply(this, args)]
     args[0]
 

d = deobjectify = module.exports

arrayProto = Array.prototype
strProto   = String.prototype

# Curry helper
curry = (fn) ->
  accumulator = (given) ->
    (args...)->
      given2 = given.concat args

      if given2.length >= fn.length
