<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def strict_request_reply(msg, send: Callable, recv: Callable):
 """ Ensures a strict req-reply loop, so that clients dont't receive out-of-order messages, if an exception occurs between request-reply. """

    try:
        send(msg)
    except Exception:
        raise
    try:
        return recv()
    except Exception:
        with suppress(zmq.error.Again):
            recv()
        raise