title: Garbage collection and runtime type information
body: <p><a href="https://stackoverflow.com/questions/106597/why-are-fixnums-in-emacs-only-29-bits">The fixnum question</a> brought my mind to an other question I've wondered for a long time.</p>
  
  <p>Many online material about garbage collection does not tell about how runtime type information can be implemented. Therefore I know lots about all sorts of garbage collectors, but not really about how I can implement them.</p>
  
  <p>The fixnum solution is actually quite nice, it's very clear which value is a pointer and which isn't. What other commonly used solutions for storing type information there is?</p>
  
  <p>Also, I wonder about fixnum -thing. Doesn't that mean that you are being limited to fixnums on every array index? Or is there some sort of workaround for getting full 64-bit integers?</p>