The image above shows a subset of a hierarchy including ADT-Classes XL$XL, XL$XL$Map, and XL$ResourcesMap, where XL$XL is a Webel ADT MemberInterface that defines membership in a family of classes that happen to be for handling OpenXML bundled XML spreadsheet files.
XL$Map has ADT signature XL$Map[$$_Association] and extends ADT$Map (with ADT template signature ADT$Map[$$_Association]), and also the MemberInterface XL$XL, which does nothing other than define membership.
Formally, the signature of XL$XL is XL$XL[$$:None], but that is typically not directly used (except for development testing):
The ADT-signature XL$XL[$$:None] is a blocking signature; the use of the single allowed match $$:None prevents it from being used for anything else:
i: get[XL$XL[None]]
o: None
i: get[XL$XL["will not work"]]
o: get[XL$XL["will not work"]]
(BTW error reporting for the above demonstration has been disabled.)
XL$XL$Map (which handles more restricted mapping to only XL$* classes) also extends ADT$Map and
XL$XL.
