 #     + "');}return p.join('');");
 #     return data ? fn(data) : fn;
 #   };
-#
-#   /*------------------------------- Aliases ----------------------------------*/
-#
-#   _.forEach  = _.each;
-#   _.foldl    = _.inject       = _.reduce;
-#   _.foldr    = _.reduceRight;
-#   _.filter   = _.select;
-#   _.every    = _.all;
-#   _.some     = _.any;
-#   _.head     = _.first;
-#   _.tail     = _.rest;
-#   _.methods  = _.functions;
-#
+
+  # ------------------------------- Aliases ----------------------------------
+
+  _.forEach: _.each
+  _.foldl:   _.inject:      _.reduce
+  _.foldr:   _.reduceRight
+  _.filter:  _.select
+  _.every:   _.all
+  _.some:    _.any
+  _.head:    _.first
+  _.tail:    _.rest
+  _.methods: _.functions
+
 #   /*------------------------ Setup the OOP Wrapper: --------------------------*/
 #
 #   # Helper function to continue chaining intermediate results.

#       range[idx++] = i;
#     }
#   };
#
#   /* ----------------------- Function Functions: -----------------------------*/
#
#   # Create a function bound to a given object (assigning 'this', and arguments,
#   # optionally). Binding with arguments is also known as 'curry'.
#   _.bind = function(func, obj) {
#     var args = _.rest(arguments, 2);
#     return function() {
#       return func.apply(obj || root, args.concat(_.toArray(arguments)));
#     };
#   };
#
#   # Bind all of an object's methods to that object. Useful for ensuring that
#   # all callbacks defined on an object belong to it.
#   _.bindAll = function(obj) {

#     var args = _.rest(arguments, 2);
#     return setTimeout(function(){ return func.apply(func, args); }, wait);
#   };

  # Defers a function, scheduling it to run after the current call stack has
  # cleared.
  _.defer: func =>
    _.delay.apply(_, [func, 1].concat(_.rest(arguments))).

  # Returns the first function passed as an argument to the second,
  # allowing you to adjust arguments, run code before and after, and
  # conditionally execute the original function.
  _.wrap: func, wrapper =>
    => wrapper.apply(wrapper, [func].concat(_.toArray(arguments)))..

  # Returns a function that is the composition of a list of functions, each
  # consuming the return value of the function that follows.
  _.compose: =>
    funcs: _.toArray(arguments)
    =>
      args: _.toArray(arguments)
      args: [funcs[i]].apply(this, args) for i in [(funcs.length - 1)..0].
      args[0]..

#   /* ------------------------- Object Functions: ---------------------------- */
#
#   # Retrieve the names of an object's properties.
