Есть ли способ преобразовать тип объединения в тип пересечения:
type FunctionUnion = () => void | (p: string) => void
type FunctionIntersection = () => void & (p: string) => void
  Я хотел бы применить преобразование к FunctionUnion чтобы получить FunctionIntersection