On Line 77 of this file we use the output (Int) of this "function" to index into the table. We could preserve the (Long, Long) and modulo at the usage site but I don't see much gain in that. I think it would be more reasonable to tackle this problem in AdaptiveVector by supporting multiple index-types [1].

[1] http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.6.0.1/Data-Ix.html#t:Ix