# Sample: async method builders

The return type of an async method selects the builder that drives its state machine. [AsyncMethodBuilder]
overrides that choice, which is how PoolingAsyncValueTaskMethodBuilder is opted into.

The tests check the rules that come with a pooled ValueTask: it may be awaited once, it may not be blocked
on, and AsTask is the escape hatch when you need more.

    cd MethodBuilders.Tests
    dotnet run -c Release
