Interface for qBeta module object

Origin: Containers

MapLib: obj
   %requires Set
   %include StringLib
   Map:
      Domain:< Object
      Range:< Object
      Entry:
         in inx: ref Domain
         in elm: ref Range
      add:
         in S: ref Object
         in D: ref Object
      lookup:
         in V: ref Domain
         out R: ref Range
      forAll:
         %id "forAll"
         pred:<
            in E: ref Entry
            out return: var Boolean
            innerBool: inner
               out B: var Boolean
         out B: var Boolean
      scan:
         current: ref Entry
         nxt: ref Link
         Loop:
      reduce:
         F:<
            in x: ref Entry
            in b: var Boolean
            out z: var Boolean
         in IV: var Boolean
         out V: var Boolean
      select:
         pred:<
            in IX: ref Object --Domain
            in E: ref Object --Range
            out V: var Boolean
         out R: ref Set.Set
      link: Entry
         in next: ref link
      head: ref link