We try hard to limit dependencies, but it seems unfortunate that Data.HashMap.Array and Data.Primitive.Array are so very similar. How bad would it be to use it? There are a few serious bugs in the released Data.Primitive.Array right now, but fixes have been merged and a test suite is on its way.