Module Support.Alternative

module type ALTERNATIVE = sig ... end

Module type for abstract datatypes with an associative operator and a left and right identity element for choosing between values.