data structure is used, but a much saner matching mechanism is used, one which allows greater ease in adding new types.