code: function extraProperties(obj, allowed)
  {
  	mod_assert.ok(typeof (obj) === 'object' && obj !== null,
  	    'obj argument must be a non-null object');
  	mod_assert.ok(Array.isArray(allowed),
  	    'allowed argument must be an array of strings');
  	for (var i = 0; i < allowed.length; i++) {
  		mod_assert.ok(typeof (allowed[i]) === 'string',
  		    'allowed argument must be an array of strings');
  	}
  
  	return (Object.keys(obj).filter(function (key) {
  		return (allowed.indexOf(key) === -1);
  	}));
  }
docs: /*
  Check an object for unexpected properties.  Accepts the object to check, and
  an array of allowed property names (strings).  Returns an array of key names
  that were found on the object, but did not appear in the list of allowed
  properties.  If no properties were found, the returned array will be of
  zero length.