TypeScript Version: 3.1.6
Search Terms: overload function generic
Code
declarefunctionidentity<Textendsunknown>(t: T): Tdeclarefunctionidentity(): undefineddeclareclassOption<A>{chain<B>(f: (a: A)=>Option<B>): Option<B>;}// Actual type: <T>(option: Option<Option<T>>) => Option<{}>// Expected type: <T>(option: Option<Option<T>>) => Option<T>// Disabling second `identity` overload fixes it for some reason.constoptionFlatten=<T>(option: Option<Option<T>>)=>option.chain(identity)
TypeScript Version: 3.1.6
Search Terms: overload function generic
Code