public function compareTo($obj) {
		
		if(!\is_a($obj, \get_called_class())){
			throw new \RuntimeException('$obj is not a comparable instance');
		}
		
		if(\is_int($this->_Value) && \is_int($obj->_Value)){
			return Number::compare($this->_Value, $obj->_Value);
		}
		else if(\is_string($this->_Value) && \is_string($obj->_Value)){
			return \strcmp($this->_Value, $obj->_Value);
		}
		else{
			throw new \RuntimeException('Incomparable types');
		}
		
	}