Most usages though should not distinguish between the two cases. They seem to be mostly artefacts of context remapping. Crucial to Ranges should be there capability of in place changes, as there could be many of them and on context changes we wouldnt want to make loads of objects. They dont make lots of sense for CompoundRange. Simple ranges have start, end and strand contexts as in Locations.
Compound ranges have lists of simple ranges, so they support more than one context.
We dont want these things to be extra objects, rather interfaces things support. This invalidates 10 from the brainstorming. If you want a compound range, set the first and add the others. Objects which have simple ranges must as well support compound range functionality. Each may have various contexts of that type named differently.