def lerp(a: float, b: float, t: float) -> float:
    """
    Linearly interpolates (unclamped) between a and b with factor t.
    Acts such that `lerp(a, b, 0.0)` returns `a`, and `lerp(a, b, 1.0)` returns `b`.
    """
    return (1 - t) * a + t * b