Type alias PipeArgs<F, Acc>
PipeArgs<F, Acc>: F extends [((...args) => infer B)] ? [...Acc, ((...args) => B)] : F extends [((...args) => Anything), ...(infer Tail)] ? Tail extends [((arg) => Anything), ...AnyArray] ? PipeArgs<Tail, [...Acc, ((...args) => B)]> : Acc : Acc