Please change all three of them so that they just call the `ref` overload. e.g.

    /+ref+/ IntervalRange opAssign(IntervalRange rhs) pure nothrow
    {
        return this = rhs;
    }

That way, less code is required, and it's less likely that they'll be out of sync if they ever have to change.

Also, please change the ddoc comments to `/++ Ditto +/`. That way, each of the `opAssign`s will be grouped together in the docs instead of ending up with separate sections.