def METHOD_NAME(cls: typing.Type[M], ctx: "tbot.Context") -> typing.Iterator[M]:
    with contextlib.ExitStack() as cx:
        b = cx.enter_context(ctx.request(tbot.role.Board, exclusive=True))
        m = cx.enter_context(cls(b))  # type: ignore
        yield typing.cast(M, m)