Concept preview

`pr.next(A).next(B).next(C)`
`pr.next(Promise.resolve().then(A).then(B)).next(C)`