docs: function(obj, callback, context){
  		// each key in something map like
  		// eachOwnEnumerableKey
  		if(obj) {
  			var enumerableKeys = shapeReflections.getOwnEnumerableKeys(obj);
  
  			// cache getKeyValue method if we can
  			var getKeyValue = obj[getKeyValueSymbol] || shiftedGetKeyValue;
  
  			return shapeReflections.eachIndex(enumerableKeys, function(key){
  				var value = getKeyValue.call(obj, key);
  				return callback.call(context || obj, value, key, obj);
  			});
  		}
  		return obj;
  	}