public function interval($pitch, $heightless = false) {
    	if ($pitch === null) {
    		return 0;
    	}
        // gotta be a strict equals, so it handles octave = 0
    	if ($pitch->octave === null || $this->octave === null) {
    		$heightless = true;
    	}
    	if ($heightless) {
    		$pitch->octave = 0;
    		$copy = clone $this;
    		$copy->octave = 0;
    		$interval = $pitch->toNoteNumber() - $this->toNoteNumber();
    		while ($interval < 0) {
    			$interval += 12;
    		}
    		if ($interval > 7) {
    			$interval = 12 - $interval;
    		}
    		return $interval;
    	} else {
	        return $pitch->toNoteNumber() - $this->toNoteNumber();
    	}
    }