Comment Comment by mpoteat Actually, it's even simpler: you should just be able to use signature overloading: myFunc(x: true): number myFunc(x: false): string The article's assertion that TypeScript can't represent this is quite false. parent mpoteat 11 months ago