以下のコードで、fetchUser関数を呼び出す際の型安全性に関して正しい説明はどれですか? ```typescript interface User { id: number; name: string; email: string; } async function fetchUser(userId: number): Promise<User> { // API通信の実装 } ```