I don't see why OptionSet
is the obvious or natural model here. What does the raw value mean and why should it be a bitset? Why would you ever initialise this from the raw value? If you think this needs to be a set then just use Set<TrimEnd>
where TrimEnd
is an enum with .start
and .end
cases. I personally don't see the advantage of it being a set at all though, because it's unlikely that you're going to use set operations on it, the empty set doesn't really make any sense, etc. The three-valued enum in the proposal seems much more natural.