fix monadic index implementation.
now we have Index and IndexM typeclass
every Index implemenation can be run pure or within a Monad