Be a bit more backwards compatible with types and make type immutability more explicit