Function composition.

Sequential inverse function composition, for those who read their programs from left to right. The result of the first function is evaluated using the given strategy, and then given to the second function.

Parallel inverse function composition, for those who read their programs from left to right. The result of the first function is evaluated using the given strategy, in parallel with the application of the second function.

Sequential function composition. The result of the second function is evaluated using the given strategy, and then given to the first function.

Parallel function composition. The result of the second function is evaluated using the given strategy, in parallel with the application of the first function.

until p f yields the result of applying f until p holds.

Extend a generic query by a type-specific case

Extend a generic transformation by a type-specific case