code: function parseHalProperty(property, processingFunction, validation, path) {
    if (property == null) {
      return property;
    }
  
    // create a shallow copy of the _links/_embedded object
    var copy = {};
  
    // normalize each link/each embedded object and put it into our copy
    Object.keys(property).forEach(function(key) {
      copy[key] = arrayfy(key, property[key], processingFunction,
          validation, path);
    });
    return copy;
  }
docs: /*
  Processes one of the two main hal properties, that is _links or _embedded.
  Each sub-property is turned into a single element array if it isn't already
  an array. processingFunction is applied to each array element.