This section describes criteria that are implemented by or on top of the criterium matching framework and used in unobtanium.
Usually criteria aren't used directly, but are wrapped in a criterium chain which allows combining multiple criteria of the same type.
Criteria are almost exclusively implemnted as enums (de)serialized using serde.
This means that they are usually serialized as a table/object with one key poulated that is set equal to the argument. If no arguments are taken they are represented as strings that are the name documented here.