def METHOD_NAME(awaitable: Awaitable[TV]) -> TV:
    """Get the result from an Awaitable which should have completed
    Asserts that the given awaitable has a result ready, and returns its value
    """
    i = awaitable.__await__()
    try:
        next(i)
    except StopIteration as e:
        # awaitable returned a result
        return e.value
    # if next didn't raise, the awaitable hasn't completed.
    raise Exception("awaitable has not yet completed")