def lstDiff(a, b):
    """Intelligently find signed difference in 2 lsts, b-a

    Assuming a clockwise coordinate system that wraps at 24=0

    A value ahead clockwise is "larger" for subtraction purposes,
    even if it is on the other side of zero.

    Parameters:
    -----------

    a : np.float32, float
        first lst in hours
    b : np.float32, float
        second lst in hours

    Returns:
    --------

    diff: float
        b-a, wrapped correctly

    Comments:
    ---------

    """

    if a < b:
        # if a is closer going through zero, wrap is used
        # meaning a is clockwise of a, technically ahead of it
        # so its direction is negative
        simple = b - a
        wrap = a + 24 - b

        if wrap < simple:
            return -wrap
        else:
            return simple
    else:
        # a is greater, but direction is tricky
        simple = b - a  # always negative now
        wrap = b + 24 - a  # always positive

        # if wrap < abs(simple), it is closer to go through zero again
        # in this case though that means b is clockwise a
        # so wrap is appropriately positive
        # otherwise simple is appropriately negative

        if wrap < abs(simple):
            return wrap
        else:
            return simple