This is just a figurative idea, perhaps for my own amusement...
I've browsed the D runtime GC source code for the last few days and I'm still undecided on what the actual method of "replacing" the existing GC would be.
Say for example, I decided to tinker and create my own GC (disregard the fact that it'd be slower / faster, this is for learning purposes only).
Is there a way to "insert" a new GC implementation, and what is the actual interface the GC is using to connect to the core runtime of D?
I see several GC related structs, etc. kind of spit everywhere, and determining which one is the actual core _interface_ is seeming more difficult than I thought.
Any hints, or pointing to the correct direction would be very helpful.
From the looks of it, it doesn't seem obvious.
