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)