code: function createCallback(callback, defaultValue) {
      switch (typeof callback) {
        case "function":
          return callback;
  
        case "string":
          return function(e) {
            return e[callback];
          };
  
        case "object":
          return function(e) {
            return Lazy(callback).all(function(value, key) {
              return e[key] === value;
            });
          };
  
        case "undefined":
          return defaultValue ?
            function() { return defaultValue; } :
            Lazy.identity;
  
        default:
          throw "Don't know how to make a callback from a " + typeof callback + "!";
      }
    }
docs: Creates a callback... you know, Lo-Dash style.
  
  - for functions, just returns the function
  - for strings, returns a pluck-style callback
  - for objects, returns a where-style callback
  
  @private
  @param {Function|string|Object} callback A function, string, or object to
  convert to a callback.
  @param {*} defaultReturn If the callback is undefined, a default return
  value to use for the function.
  @returns {Function} The callback function.
  
  @examples
  createCallback(function() {})                  // instanceof Function
  createCallback('foo')                          // instanceof Function
  createCallback('foo')({ foo: 'bar'})           // => 'bar'
  createCallback({ foo: 'bar' })({ foo: 'bar' }) // => true
  createCallback({ foo: 'bar' })({ foo: 'baz' }) // => false