an haskell rtree implementation with exchangeable storage backend and algorithms