def hsl_to_hsv(h :float, s :float, l :float) -> tuple:
    """
    HSL to HSV color conversion.
    https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion
    Args:
        h: `float` in [0.0, 1.0] corresponding to hue.
        s: `float` in [0.0, 1.0] corresponding to saturation.
        l: `float` in [0.0, 1.0] corresponding to light.
    Returns:
        The corresponding HSv normalized tuple.
    """
    v = l + s * min(l, 1 - l)
    s = 0 if v == 0 else 2 * (1 - l/v)
    return (h, s, v)