Unexpected result builder compile-time error

I'm trying to write a result builder using the new buildPartialBlock API. What I try to do is in fact pretty straightforward. Given:

public protocol Command: Hashable, Sendable {}

struct CommandPair<C0, C1>: Command where C0: Command, C1: Command {
    let first: C0
    let second: C1

public enum CommandBuilder {
    static func buildPartialBlock(first command: some Command) -> some Command {

    static func buildPartialBlock(accumulated: some Command, next: some Command) -> some Command {
        CommandPair(first: accumulated, second: next)

I would expect this to work:

let block = CommandBlock {
    CommandBlock {

Where both AuthCommand and CommandBlock are conforming to Command. However, I get this weird error message: Result builder 'CommandBuilder' does not implement any 'buildBlock' or a combination of 'buildPartialBlock(first:)' and 'buildPartialBlock(accumulated:next:)' with sufficient availability for this call site. Which doesn't seem to be the case since the methods are there.

What do I do wrong? How should I debug this?

This should be working without the experimental flag on 5.7.2, no? Looking at the implementation here it seems like the error covers a couple of cases and the message is not clear enough why the availability is lacking.