This package provides elementary integration with the UI through mystical knowledge of the naming conventions that the compiler uses when generating the UI package. You should \emph{never} reference generated values yourself without an abstraction.
An object in the UI is considered to be \dfn{applicable} if the predicate defined by its {\tt @when} attribute matches. These predicates are generated, and should not be referenced directly; instead, \ref{_match-ui-applicable_} should be used with the question id. The term ``applicable'' is used instead of ``visible'' because object can be hidden by other means; a predicate might be true while a field is actually hidden. Further, a non-matching predicate inhibits other behavior, like running of assertions. Note that this template will only be useful with an object (question, display, static, etc) that has a predicate defined; otherwise, compilation will fail. \ref{_match-ui-set_} determines whether a UI field has a truthful value, which is non-empty and non-zero. The templates below are analogous to the generic match templates, but they translate \tt{@on@} to the question param and also check that the question is applicable (using \ref{_match-ui-applicable_}).