anchor.diff:  				result = true;
   			}
   		}
  -		else if (isObject(arguments.obj) || isStruct(arguments.obj)) {	
  +		else if (isObject(arguments.obj) || isStruct(arguments.obj)) {
   			var index  = 1;
   			for (key in arguments.obj) {
   				var val = arguments.obj[key];
  
positive.code: 		// TODO
  		return;
  	}
  	
  	/*
  		Returns a function, that, as long as it continues to be invoked, will not
  		be triggered. The function will be called after it stops being called for
  
negative.code:   	*/
  	public any function delay(func, wait, args) {
  		// TODO: make this accept multiple arguments after func and wait, which will get put into an args struct instead of forcing the user to pass arguments as a struct
  		sleep(wait);
  		var local.func = arguments.func;
  		return local.func(argumentCollection = args);
  	}
  
  	/*
  	* 	@header _.defer(function, arguments) : any
  	*	@hint Defers a function, scheduling it to run after the current call stack has cleared.
  	* 	@example
  	*/
  	public any function defer(func, args) {
  		// TODO: make sure this works, if it is possible in CF
  		return _.delay(func, 0, args);
  	}
  
  	/*
  		Returns a function, that, when invoked, will only be triggered at most once
  		during a given window of time.
  