Another possibility, instead of using MEMBER or ONEOF, is to allow (QUOTE <A>) to be a legal type specifier that means exactly the object <A>. Exasmple 1: (MEMBER A B C) would be (OR 'A 'B 'C). Example 2: type LIST could be defined as (OR CONS '()).