The js source is weird, an abstract would generate less code but won’t exist at runtime, so I guess it depends on the use case.
Hmm seems I misunderstood ArrayAccess usage, I don’t think you can modify the way it’s used as an array, http://try.haxe.org/#05a05, or if it is possible it’s not like an abstract.