I've created a lib that enables you to compose and chain typeguards. Many codebases already define some typeguards, but it's often challenging to chain them or craft the type signature for these guards. What are your thoughts? You can find the code in the first comment.