I have a new patch, that allows to use type-numbers as indices for Array elements, including bound checks: http://code.haskell.org/~thielema/llvm/ Please consider pulling it into the main repository.