type GateMismatch<
Name extends string,
Want extends string,
Got extends string
> = `gate '${Name}' wants a ${Want} handler but this handler is ${Got}`;type GateMismatch<
Name extends string,
Want extends string,
Got extends string
> = `gate '${Name}' wants a ${Want} handler but this handler is ${Got}`;