generic finger-tree structure (http://staff.city.ac.uk/~ross/papers/FingerTree.html)
#10Add one-sided searches
takeUntil
and dropUntil
shouldn't be implemented in terms of split
. They should instead build only the side of the search result that they're actually going to use.