docs: 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 + "!";
      }
    }