code: function(fn) {
      var called = false, val;
      return function() {
        if (called) {
          return val;
        }
        called = true;
        return val = fn.apply(this, arguments);
      };
    }
docs: *
  @method once()
  @returns Function
  @short Creates a function that will execute only once and store the result.
  @extra `once` is useful for creating functions that will cache the result
  of an expensive operation and use it on subsequent calls. Also it
  can be useful for creating initialization functions that only need
  to be run once.
  
  @example
  
  var fn = logHello.once();
  runTenTimes(fn); -> logs once
  
  *