export type Join<S extends readonly string[], D extends string, F extends boolean = true> = S extends readonly [
  infer A extends string,
  ...infer B extends string[]
]
  ? `${F extends true ? "" : A extends "" ? "" : D}${A}${B["length"] extends 0 ? "" : Join<B, D, false>}`
  : never;
