<!-- 🚨 STOP 🚨 𝗦𝗧𝗢𝗣 🚨 𝑺𝑻𝑶𝑷 🚨 Half of all issues filed here are duplicates, answered in the FAQ, or not appropriate for the bug tracker. Even if you think you've found a *bug*, please read the FAQ first, especially the Common "Bugs" That Aren't Bugs section! Please help us by doing the following steps before logging an issue: * Search: https://github.com/Microsoft/TypeScript/search?type=Issues * Read the FAQ: https://github.com/Microsoft/TypeScript/wiki/FAQ Please fill in the *entire* template below. --> <!-- Please try to reproduce the issue with the latest published version. It may have already been fixed. For npm: `typescript@next` This is also the 'Nightly' version in the playground: http://www.typescriptlang.org/play/?ts=Nightly --> **TypeScript Version:** 3.7.x-dev.20200220 <!-- Search terms you tried before logging this (so others can find this issue more easily) --> **Search Terms:** Implicit type coersion function ternary **Code** ```ts function isSomething(): boolean { return false } const haha = isSomething ? 'a' : 'b'; ``` **Expected behavior:** Typescript should throw error in `= isSomething ?` instead of coercing `isSomething` to boolean **Actual behavior:** Typescript coerced `isSomething` (function) to boolean **Playground Link:** <!-- A link to a TypeScript Playground "Share" link which demonstrates this behavior --> [link](http://www.typescriptlang.org/play/?ts=3.9.0-dev.20200220#code/GYVwdgxgLglg9mABDAzgZTgWwKZQBYxgDmAFAJQBciARnHADbYCGSA3gFCKIBOuI3SYE3ops7AL7sICFFER4mCxAF5k6LLgLFEAfkQByJvsRV91fQG52QA) **Related Issues:** <!-- Did you find other bugs that looked similar? --> - [Flow #5674](https://github.com/facebook/flow/issues/5674)