nightly build, August 18, 2016
function useA(value: 'a'): void { }
function useB(value: 'b'): void { }
function useSomethingElse(value: string): void { }
declare var kind: string | 'a' | 'b';
switch (kind) {
    case 'a': useA(kind); break; // expected kind to be 'a', actual 'a' | string
    case 'b': useB(kind); break;
    default: useSomethingElse(kind); break;
}