You do realise that this is cloning the whole tree, right? i.e. every insert is requiring duplicating everything, which *completely* destroys the O(log n) behaviour. I am personally very against merging something like this; would it be possible to do the work to avoid the `clone`s now?

Also, almost all of these methods should be taking `&self` or `&mut self` rather than consuming the tree, which will probably make it much easier to avoid `.clone`s. (Compare to the various methods of `extra::treemap`, e.g. `.insert`; also, this should be called `.insert`.)