docs: function matchSideBySide(matchingObjects, matchingExpectedObjects, path){
      //In the event of matching an array, check all the internal elements
      var expectedKeys = Object.keys(matchingExpectedObjects);
      var failures = expectedKeys.map(function(eK){
          if(!matchingObjects[eK]) {
              return {
                  error: "unable to complete Type check for " + path + " Because " + eK + " is not defined",
                  expected: "Expected type <" + type(matchingExpectedObjects) + "> from example: " + util.inspect(matchingExpectedObjects),
                  actual: "Found no matching object"
              };
          }
          if(type(matchingObjects[eK]) !== type(matchingExpectedObjects[eK])){
              return {
                  error: "Type matching failure for " + path,
                  expected: "Expected type <" + type(matchingExpectedObjects[eK]) + "> from example: " + util.inspect(matchingExpectedObjects[eK]),
                  actual: "Found <"  + type(matchingObjects[eK]) + "> for " + util.inspect(matchingObjects[eK])
              };
          }
      }).filter(function(e){
          return !!e;  //Remove undefined records
      });
  
      if(failures.length){
          return failures[0];
      }
  }