Struct and record pointer projections.
Check composition..

Only it doesn't!! The \circ operator is defined in the
library as a polymorphic function. There's no way for
the user to generate a BEXPR_compose combinator.

The term was defined for the compiler to generate.

Some optimisations could use it, for example:

fold_left f (fold_left g init lst) =>
fold_left (f \circ g) init lst

however reduce operation no longer works and the compiler
cannot understand lists.