A few remaining things:
(1) Does make-enumeration take a list of symbols/name-value pairs like
make-enum-type? (Presumably yes, given the "names and values"
terminology.) If so, its argument should be renamed from "symbol-list".
(2) There's some unrelated text pasted onto the end of
enum-set-constructor's description.
(3) The description of enum-set-constructor is slightly confusing:
"Returns a procedure that accepts one argument, a list of symbols.
Returns a newly allocated enum set containing the enums whose names
are members of the list of symbols." I'd replace the first period
with ", and which".
(4) enum-subset?, unlike enum-set<=?, allows the sets to be of
different enum types, and there's some text paraphrased from R6RS
about types being subsets of each other. I think this is an artifact;
we don't provide any way to construct an enum-subtype, so sets of
different types are never subsets of each other.
(5) define-enum: What do the <type-name> and <constructor> macros do
when given invalid symbols?
(6) enum-set->list: Is the result supposed to be in ordinal order,
or in some unspecified order?
--
Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz>
"Never do programs contain so few bugs as when no debugging tools
are available." --Niklaus Wirth