Why not just overload the [] operator to accept a non-constant value? Can we not gain access to the libraries or something?