public function guess() : float
    {
        if ($this->min === null or $this->max === null) {
            throw new RuntimeException('Strategy has not been fitted.');
        }

        $min = (int) round($this->min * $this->precision);
        $max = (int) round($this->max * $this->precision);

        return rand($min, $max) / $this->precision;
    }