Refactor type implementation (+ possible bug found)

`Type::makeMutable` used to add `MODshared` for some reason, I think this might have been a copy-paste error.