Related note: it's becoming increasingly clear that we keep running into problems with hierarchies. The exception hierarchy (R6RS vs others) is the most obvious example. Much of the discussion around the withdrawn SRFI 198 was around how (if at all) to do hierarchies, and if there are two hierarchies, how to decide which one is authoritative. We can solve all problems like this if standard Scheme is silent on all matters of hierarchy. Instead, we could simply talk about set membership. Any proposal that needs to classify objects, simply provides predicate procedures for the sets it cares about. This means that something like `file-error?` in proposal A can be different from `file-error?` in proposal B. If these predicates are imported from libraries, each Scheme program can import the predicates it wants and ignore others. In some scenarios we want to interface standard Scheme to existing object systems, and probably to ML-style type systems in the future. These targets are inherently hierarchical, so it's an open question how to that.