TypeScript Version:
nightly (1.9.0-dev.20160619-1.0)

Expected behavior:
Type of shape should be never or Shape so that we can still access type to throw an Error.
throw new Error('Unknown type. Type: ' + shape.type);
Actual behavior:
Type of shape is { type: 'rectangle'; width: number; height: number }.