The bits shared between StaticRange and Range objects are put on a shared superclass named AbstractRange.
According to the StaticRange.idl, there are some duplicate methods with Range. Create an AbstractRange superclass and move some of the methods on Range that we want on StaticRange to the superclass as well. StaticRange and Range both inherit from AbstractRange. To reclassify Range objects as "live ranges" rather than "ranges". this can be communicated more clearly to the user.
Explainers: https://github.com/w3c/staticrange/issues/1