whole_func_string: function(obj) {
  	if(obj == null || typeof obj != 'object' || Object.isFrozen(obj) || obj._keepHot) return;
  
  	Object.freeze(obj); // First freeze the object.
  	
  	for (var key in obj) {
  		if(obj.hasOwnProperty(key)) deepFreeze(obj[key]); // Recursively call deepFreeze.
  	}
  }
func_code_string: function(obj) {
  	if(obj == null || typeof obj != 'object' || Object.isFrozen(obj) || obj._keepHot) return;
  
  	Object.freeze(obj); // First freeze the object.
  	
  	for (var key in obj) {
  		if(obj.hasOwnProperty(key)) deepFreeze(obj[key]); // Recursively call deepFreeze.
  	}
  }
func_documentation_string: deeply freeze an object to make it fully immutable