public function setM(float $m): self {
        if (!$this->isMeasured()) {
            throw GeometryException::coordinateNotSupported('m');
        }
        $this->coordinates[self::M] = $this->gf
                ->getPrecisionModel()
                ->makePrecise($m);
        return $this;
    }