Very useful. Do note that the %types.r table encodes the type/antiform information, as well as an annotation to say whether it's unstable or not. Such as for splice:
group "array that evaluates expressions as an isolated group"
~splice~ (CELL_FLAG_FIRST_IS_NODE)
[any-series? any-branch? any-plain-value?]
[array * *]
And for error:
error "error context with id, arguments, and stack origin"
~raised~ (CELL_FLAG_FIRST_IS_NODE | CELL_FLAG_SECOND_IS_NODE)
#unstable [any-inert?]
[context + +]
As much as possible, I like to use Rebol to do code generation for properties in the C (and also to put in the binary for HELP). A string describing the antiform would be good to stick in here...
In any case, %types.r is a pretty good example of dialecting!