fromFalsy have this signature:
fromFalsy<V>(val: V|null|undefined): Maybe<V>;
This means that the following produces V=false|string, where it should be V=string:
fromFalsy(false | "some string")
I think the signature should be changed to:
fromFalsy<V>(val: V|null|undefined|false): Maybe<V>;