> It is, so we agree. > > Absolutely. > > Agreed. > > Agree with that too. > > Agreed, using "mandate". Thank you for the reconciliation. It's good we have reassurance that the SRFI is not falling apart. > So what question does the presence of 'set (or whatever The (Mandatory > Key) is to be called) answer? In my view, this one: "Can we interpret > this foreign status object using the conventions of Posix foreign status > objects, yes or no?" Just looking at 'errno is not enough, as it might > mean something different in a different convention. That's why I like > the name 'convention for The Key, though I agree it is long. Excellent. Now we have arrived at the crux of the matter. I also originally assumed that it would be natural to partition the properties by one mandatory key. But now that we have coined many properties, it seems that most of them either don't belong clearly under one key, or it doesn't matter whether they do since there's little risk of conflict with other properties regardless. Hence I've started to lean in the direction of having most properties be independent of the master key. This implies that the master key becomes just one key among others. 'set, 'code/number, and 'name/symbol naturally form a group. 'code/number and 'name/symbol without a 'set make sense in the same sense that a grammatically correct but out-of-context English sentence makes, but 'set is clearly needed for a useful result. On the other hand, there are situations in which is makes sense to say something vague, and we should never use precise language to mask vague concepts. Hence 'code/number and 'name/symbol also make at least a little sense even without 'set. It's true the flexibility of master-key-independent properties means that more care needs to be taken in their design since they potentially have to work with many different kinds of status objects without causing confusion. I tend to think this is a necessary evil; in my experience, the world tends to resist being divided neatly into boxes. I welcome arguments to the contrary. > This, of course, leads to a question behind the question. Suppose the > error comes from Cygwin, and suppose Cygwin has collected enough > information that we can create a Windows-convention status object. > What then? That's where 'inner comes in: the Posix-convention errno > is the result of Cygwin interpreting a Windows WhatEverCall, so 'inner > will point to a WIndows-convention foreign status object. But of course > 'inner will not be mandatory, Yes, that's one reasonable way to do it. I haven't thought about the implications yet.