docs: function computed(func) {
      var args;
  
      if (arguments.length > 1) {
        args = [].slice.call(arguments);
        func = args.pop();
      }
  
      var cp = new ComputedProperty(func);
  
      if (args) {
        cp.property.apply(cp, args);
      }
  
      return cp;
    }