- is_assoc(+Assoc) is semidet
- True if Assoc is an association list. This predicate checks that the
structure is valid, elements are in order, and tree is balanced to
the extent guaranteed by AVL trees. I.e., branches of each subtree
differ in depth by at most 1. Does not validate that keys are
sufficiently instantiated to ensure the tree remains valid if a key
is further instantiated.