TODO: Perhaps disable all checking (and unittests) in release mode (when
debug is not active), but preserve overloads sliceRO and sliceRW. If not use
enforce instead.
TODO: Implement and use trait hasUnsafeSlicing
TODO: Add WriteBorrowedPointer, ReadBorrowedPointer to wrap ptr access to
Container
TODO: Is sliceRW and sliceRO good names?
TODO: can we make the _range member non-visible but the alias this public
in ReadBorrowed and WriteBorrowed
Dynamic Ownership and borrowing á lá Rust at run-time instead of compile-time.
TODO: Override all members with write checks. See http://forum.dlang.org/post/mailman.63.1478697690.3405.digitalmars-d-learn@puremagic.com
TODO: Perhaps disable all checking (and unittests) in release mode (when debug is not active), but preserve overloads sliceRO and sliceRW. If not use enforce instead.
TODO: Implement and use trait hasUnsafeSlicing
TODO: Add WriteBorrowedPointer, ReadBorrowedPointer to wrap ptr access to Container
TODO: Is sliceRW and sliceRO good names?
TODO: can we make the _range member non-visible but the alias this public in ReadBorrowed and WriteBorrowed