hoi.Map: add BiDirectional, BoundedAtStart, Bounded and RandomAccess variations