enum-set[t] record (has private fields)
to-set[t, v] t enum-set(a (t, v) enum-map, f bool mut((t, v))) t enum-likelist-new[t] t enum-set(elements t[]) t enum-liketo[t] t enum-set(a t[]) t enum-liketo[t] t[](a t enum-set) t enum-likesubscript[t] bool(a t enum-set, value t) t enum-likeany[t] bool(a t enum-set)size[t] nat32(a t enum-set)some[t] bool(a t enum-set, f bool mut(t)) t enum-like
abut not inb