l tipo @Flow Array falla en un subconjunto de ese tipo

Tengo una función que se usa en muchos lugares diferentes, por lo que tiene una tipificación muy amplia:

export const stringToArrayFn = ( accessor?: | Function | string | boolean | Object | Array<Function | string | boolean | Object>, defaultAccessor?: Function, raw?: boolean )

Cuando lo llamo:

stringToArrayFn(yAccessor)

Con yAccessor se escribe como:

yAccessor?: Array<Function | string> | Function | string

Flow se quejaCannot call stringToArrayFn with yAccessor bound to accessor because boolean [1] is incompatible with string [2] in array element.

No lo entiendo porque la matriz en yAccessor es un subconjunto válido de las posibilidades de matriz definidas en stringToArrayFn (la primera solo permite matrices de función o cadena, la segunda permite matrices de funciones, cadenas, bools y objetos).

¿Cómo se maneja este tipo de escritura?

Respuestas a la pregunta(1)

Su respuesta a la pregunta