diff --git a/src/lib/util/basic/utility.ts b/src/lib/util/basic/utility.ts index 4cdee12..309f373 100644 --- a/src/lib/util/basic/utility.ts +++ b/src/lib/util/basic/utility.ts @@ -174,5 +174,11 @@ export const tryCatch = (f: () => A): Either => { } } +export interface Tag { + readonly _tag: T +} + +export const hasTag = (x: string) => (y: Tag) => x === y._tag + export const fromNullable = (a: A | null | undefined): Option => a == null ? none : some(a)