This solution is generated by ChatGPT, correctness is not guaranteed.

AI solution for TypeScript puzzle on BFE.dev
53. Implement SnakeCase<S>

type SnakeCase<S extends string> = S extends `${infer T}${infer U}`
  ? T extends Uppercase<T>
    ? `${T extends "" ? "" : "_"}${Lowercase<T>}${SnakeCase<U>}`
    : `${T}${SnakeCase<U>}`
  : "";

// Test
type A = SnakeCase<'BigFrontEnd'> // expected to be 'big_front_end'