Optional<T, S>: [T] extends [never]
    ? undefined
    : [S] extends [never]
        ? T
        : S

Type Parameters

  • T = never
  • S = never