Another type system overhaul; I was relying too much on 'typed pointers' when in fact that was a terrible idea.