public static function fromHslCompensated($hue, $saturation, $lightness, $alpha = 1.0)
    {
        if ($hue < 0) $hue = 0;
        if ($hue > 1) $hue = 1;
        
        $lightnessCompensation = self::$lightnessCompensations[(int)($hue * 6 + 0.5)];
        
        // Adjust the input lightness relative to the compensation
        $lightness = $lightness < 0.5 ?
            $lightness * $lightnessCompensation * 2 : 
            $lightnessCompensation + ($lightness - 0.5) * (1 - $lightnessCompensation) * 2;

        return self::fromHsl($hue, $saturation, $lightness, $alpha);
    }