Last commit of the failed way of doing things
Getting the base types ready to be used by the new rewriter. Aiming for zero copying