tsc@2.5.3
// from lodash
declare function isFunction(func): func is ((...args: any[]) => any) | Function
if (isFunction(x)) {
x('a') // TS2349
}
If I remove the union, it works:
declare function isFunction(func): func is ((...args: any[]) => any)
if (isFunction(x)) {
x('a') // TS2349
}