Fix ArrayUtil casting wrong getters for some edge cases
add a A::indexBy method (finally)