code: function _gpfValue (value, defaultValue, expectedType) {
      var valueType = typeof value,
          result;
      if (!expectedType) {
          expectedType = typeof defaultValue;
      }
      if (expectedType === valueType) {
          return value;
      }
      if ("undefined" === valueType) {
          return defaultValue;
      }
      result = _gpfValues[expectedType](value, valueType, defaultValue);
      if (undefined === result) {
          return defaultValue;
      }
      return result;
  }
docs: /*
  Converts the provided value to match the expectedType.
  If not specified or impossible to do so, defaultValue is returned.
  When expectedType is not provided, it is deduced from defaultValue.
  
  @param {*} value
  @param {*} default value
  @param {String} [expectedType=typeof defaultValue] expected type
  @return {*}