 
 
 # Composer
-
 compose = ->
   fns = arrayProto.slice.call(arguments, 0).reverse()
 

equals = curry (expected, fn, target) ->
  fn(target) == expected

isArray = equals('Array', getType)
isFunction = equals('Function', getType)
isString = equals('String', getType)

getProto = (val) ->
  switch getType(val)

arrayProto = Array.prototype
strProto   = String.prototype
objProto   = Object.prototype

# Curry helper
curry = (fn) ->
  accumulator = (given) ->
    ->
