Nesting a tuple expression requiring functional inference in a tuple like this currently breaks validation. This is likely a convoluted TS bug, as the equivalent form in an object literal is correctly inferred:
// @ts-expect-error
type([["boolean", "=>", (b) => b === true]]).infer
I tried for a very long time to fix this to no avail. Workaround is to use an expression helper like:
type([narrow("boolean", (b) => b === true)])