 #     + "');}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.

#       _['is' + types[i]] = function(obj) { return toString.call(obj) == identifier; };
#     })();
#   }
#
#   /* -------------------------- Utility Functions: -------------------------- */
#
#   # Run Underscore.js in noConflict mode, returning the '_' variable to its
#   # previous owner. Returns a reference to the Underscore object.
#   _.noConflict = function() {
#     root._ = previousUnderscore;
#     return this;
#   };
#
#   # Keep the identity function around for default iterators.
#   _.identity = function(value) {
#     return value;
#   };
#
#   # Break out of the middle of an iteration.
#   _.breakLoop = function() {
#     throw breaker;
#   };
#
#   # Generate a unique integer id (unique within the entire client session).
#   # Useful for temporary DOM ids.
#   var idCounter = 0;

#     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.
