...element returns non-empty range.
The main issue is that DList.Range is implemented in terms of "first and last" as opposed to "first and past last", which means you have to special-case empty ranges. The fix is to do the same thing as in `opSlice`, and to explicitly initialize a null Range when it is empty.
Turn std.container into a package.
Delete container.d
Remove totalcontainer from package.
Create std.container.util.d and reference it from other containers.
Correct code coverage for containers.
Add containers for unit testing.
Make std.container.util public from any module.
Move around imports (avoid version(unittest)).
Remove irrelevant unittests.