Threw out id types and nat because they were a hack anyway