note to self: use predicates it's still useful. predicates will be the definitions, and the way to state what kind the item is. throw singletons away. they can be built from any code. perhaps there is a list of all predicates, so the case statement of do-expect will potentially be built automatically. predicate, and predicate ask word. { pair [ pair? ] } etc. .... get acquainted with the introspection features to generate or get something like this. maybe it's a simple 'instance?>>'