// ============= Test Cases =============
import type { Equal, Expect } from './test-utils'

type cases = [
  Expect<Equal<If<true, 'a', 'b'>, 'a'>>,
  Expect<Equal<If<false, 'a', 2>, 2>>,
]

// @ts-expect-error
type error = If<null, 'a', 'b'>

// ============= Your Code Here =============
type If<C extends Boolean, T, F> = C extends true ? T : F;

取分支后 根据分支逻辑取另外两个泛型即可。