Here I want to do a function overload, but TS does an intersection type in the params of onChange, how to get it right?
onChange
type ArrayType = { type: