code: function(obj){
  	var hasOwnKey = obj[canSymbol.for("can.hasOwnKey")];
  	if(hasOwnKey) {
  		return hasOwnKey.bind(obj);
  	} else {
  		var map = makeMap( shapeReflections.getOwnEnumerableKeys(obj) );
  		return function(key) {
  			return map.get(key);
  		};
  	}
  }
docs: creates an optimized hasOwnKey lookup. If the object has hasOwnKey, then we just use that. Otherwise, try to put all keys in a map.