async def METHOD_NAME(
    websocket: Websocket, fn: Callable[P, Awaitable[T]], *args: P.args, **kwargs: P.kwargs
) -> T:
    """
    This is kind of a special case here:
    unlike other requests this one is going to (potentially) take
    a long time to complete. In the meantime we must monitor the
    connection with the client in order to make sure it is still
    online and handles websocket pings
    """
    rep = None
    async def _keep_websocket_breathing() -> None:
        # If a command is received, the client is violating the
        # request/reply pattern. We consider this as an order to stop
        # listening events.
        raw_req = await websocket.receive()
        raise CancelledByNewCmd(raw_req)
    async def _do_fn(cancel_scope: CancelScope) -> None:
        nonlocal rep
        rep = await fn(*args, **kwargs)
        cancel_scope.cancel()
    async with open_service_nursery() as nursery:
        nursery.start_soon(_do_fn, nursery.cancel_scope)
        nursery.start_soon(_keep_websocket_breathing)
    assert rep is not None
    return rep