These are buggy because they don't handle cycles, and `Gc<T>` permits those in valid code.