package traverse

  1. Overview
  2. Docs

Monoid.S is a signature for a monoid (a type `t` with `zero` and `+`), and 'a Monoid.t is the type for monoids represented as first-class modules.

module type S = sig ... end
module Addition : S
type 'a t = (module S with type t = 'a)