Major style changes

Including turning some pointer addition into array indices (there's literally no difference from the generated ASM, it's just to make things more legible)