为什么 TypeScript 可以通过箭头函数返回的不仅仅是显式的 void,但在执行相同操作的函数上会出错?

Kew*_*sse 5 void typescript

我找不到以下 TypeScript 片段中发生的情况的解释:

const f1: () => void = () => 4; // <- OK

function f2(): void {
  return 4; // <- Type 'number' is not assignable to type 'void'.
}
Run Code Online (Sandbox Code Playgroud)

游乐场链接

为什么 TypeScript 可以通过箭头函数返回比显式返回更多的函数void,但会抱怨声明的函数做同样的事情?