i was playing around with intersection types and i would expect following as working? 

Could someone shed some light on it?

```
type SomeError = {    
    message: string;
    code?: number;    
};

type SomeResponse = {
    error: SomeError & { code: string; }
};

const response: SomeResponse = {
    error: {
        message: 'neco',
        code: 'a'
    } 
};

// Type 'string' is not assignable to type 'number'.

const response2: SomeResponse = {
    error: {
        message: 'neco',
        code: 50
    } 
};

// Type 'number' is not assignable to type 'string'.

```