OCaml library for creating efficient ranges out of indexed data structures (arrays, strings, etc.)