Issue with Type Inference in Chained Operations

I'm having trouble understanding certain operations with metrics.
Why does this work just fine:
    const x = UnsupportedMetric.pipe(Metric.tagged('cause', cause));
    yield* Metric.increment(x);

And this does not type check? Isn't pipe just calling the next function exactly like I'm doing?

    yield* UnsupportedMetric.pipe(Metric.tagged('cause', cause), Metric.increment);
Was this page helpful?