Ok, I have to take back my statement: AcyclicRcs and CyclycRCs can be mixed, but once a CyclicRC comes in, the whole structure must be deemed potentially cyclic, so one can no longer rely on timely drop.
The distinction between AcyclicRC and RawRC is compile-time only: If we had static analysis / extended requirements to avoid cycles altogether, a RawRC type would provide an unsafe escape hatch.