> "Being of the exactly right exception type" is just another predicate. :) Agreed - and should be. > Anyway, it is part of the API of the standard R6RS library that > inspection is possible with R6RS condition objects. Likewise, R7RS has > some inspection, e.g. through `error-object-message'. The problem is R6RS dictates that standard procedures raise particular condition types which are defined as concrete types arranged in a particular hierarchy of concrete types. Inspection can then be used to check for those types and their parents, without using any predicates. If we can relax the R6RS requirement that the conditions need to have the given concrete types, and we only promise that the _predicates_ with the standard names conform to the R6RS hierarchy, it's all good. > I mean, every > library (or system of libraries like R6RS) is free choose which kind of > objects it uses to represent exception conditions and what predicates > and accessors it exports. All that is important is that the RnRS do not > dictate a particular type of object as an argument to `raise'. Is it really the case that R6RS doesn't guarantee standard procedures to raise conditions of given concrete types? I had the opposite impression. If R6RS doesn't require the standard condition types to be inspectable, that would work as well.