If you need custom sort-orders and slicing for dicts, I've implemented
a b-tree backed mapping that can do just that a couple weeks ago -
you are welcome to use it:
(just "pip install extradict" )
It does not support numeric indexing, though - you'd need a pair of TreeDict's to do it:
```py
from extradict import TreeDict
a = TreeDict(('abc', 'bar'), ('def', 'foo'), ('ghi', 'baz'), ('jkl', 'bam'))
a["a":"f"]
out: ['bar', 'foo']
b = TreeDict(*((i, key) for i, key in enumerate(a)))
# Using numeric keys for range from 'a' keys:
[(key, a[key]) for key in b[1:4]]
out: [('def', 'foo'), ('ghi', 'baz')]
```