hierachy
methods in this moudle could be shared by (at least 2 of them)
fuctional set, functional specialized set mutable set, mutable specialized set.
for example, [mem0] could be shared by functional/mutable poly set
functional poly set (depends on bs_internalAVLset)
methods could be shared by funcitional/imperative specialized set. This intermediate module is created since we want to share methods like [findOpt], [cmp]