Don't we need to check `!(isType(typ) && isa(typ.parameters[1],DataType) && !typ.parameters[1].mutable)`?