declarefunctionisNumber(value: {}): value is number;declareconstvalues: {}[];declarefunctionfilterAs<a,bextendsa>(values: a[],isIt: (value: a)=>value is b): b[];constyayNumbers=filterAs(values,isNumber);// number[]constohNoNotAgain=filterAs(values,x=>isNumber(x));/* <-- expected to work,actual: Argument of type '(x: {}) => boolean' is not assignable to parameter of type '(value: {}) => value is {}'. Signature '(x: {}): boolean' must have a type predicate. */