Indirect relations on values and temporary names

I’ve pared the problem down to a simple example:

[code]X-type is a kind of value. The X-types are XA, XB, and XC.

Direct-X-relating relates various X-types to one X-type.

X-relating relates an X-type (called A) to an X-type (called B) when the number of steps via the direct-X-relating relation from A to B is at least 0.[/code]

At compile time, I get an error like this:

On the previous build (SF95), something like this went through without complaint, but it produced an internal error on compiling when I tried to use the new relation. So I updated to the new version (6G60) and now it produces the above error message. I suspect there’s a good reason why I can’t do what I tried to do, but even after reading the error message, I’m not sure what that reason might be.

It looks like a bug, since the compiler is happy to accept the same code when X-type is a kind of object, rather than a kind of value:

X-type is a kind of object.  XA, XB, and XC are X-types.

Should I be reporting this, then?

Yes, please.