original_string: public function unique(\Closure $compare = null){
  		
  		if(\is_callable($compare)){
  			
  			$arr = new static();
  			
  			$this->each(function($outerItem) use (&$arr, $compare){
  				
  				if(!$arr->some(function($cmpItem) use ($outerItem, $compare){
  					return $compare($outerItem, $cmpItem);
  				})){
  					$arr->_Arr[] = $outerItem;
  				}
  				
  			});
  			
  			return $arr;
  			
  		}
  		else{
  			return new static(\array_values(\array_unique(
  					$this->_Arr, \SORT_REGULAR)));
  		}
  		
  	}
code: public function unique(\Closure $compare = null){
  		
  		if(\is_callable($compare)){
  			
  			$arr = new static();
  			
  			$this->each(function($outerItem) use (&$arr, $compare){
  				
  				if(!$arr->some(function($cmpItem) use ($outerItem, $compare){
  					return $compare($outerItem, $cmpItem);
  				})){
  					$arr->_Arr[] = $outerItem;
  				}
  				
  			});
  			
  			return $arr;
  			
  		}
  		else{
  			return new static(\array_values(\array_unique(
  					$this->_Arr, \SORT_REGULAR)));
  		}
  		
  	}
code_tokens: public function unique ( \ Closure $ compare = null ) { if ( \ is_callable ( $ compare ) ) { $ arr = new static ( ) ; $ this -> each ( function ( $ outerItem ) use ( & $ arr , $ compare ) { if ( ! $ arr -> some ( function ( $ cmpItem ) use ( $ outerItem , $ compare ) { return $ compare ( $ outerItem , $ cmpItem ) ; } ) ) { $ arr -> _Arr [ ] = $ outerItem ; } } ) ; return $ arr ; } else { return new static ( \ array_values ( \ array_unique ( $ this -> _Arr , \ SORT_REGULAR ) ) ) ; } }
docstring: Eliminates duplicate values from this list, optionally according
  to a user defined compare function
  @param \Closure $compare
  @return \static
docstring_tokens: Eliminates duplicate values from this list optionally according to a user defined compare function