Module type Freer_selective.TO_SELECTIVE

The natural transformation for Freer Selective to Selective.

type 'a t

The type held by the Freer Selective.

type 'a f

The parametric type (which, unlike a Preface_specs.Free_selective don't need to be a Preface_specs.Functor).

type 'a selective

The type held by the Selective.

type natural_transformation = {
  1. transform : 'a. 'a f -> 'a selective;
}
val run : natural_transformation -> 'a t -> 'a selective

Run the natural transformation over the Freer selective.