gvergnaud/ts-pattern | ExplainGitHub