/**
* @since 1.0.0
*/
import { proto } from "@fp-ts/core/internal/effect"
import type { None, Option, Some } from "@fp-ts/core/Option"
/** @internal */
export const isNone = (fa: Option): fa is None => fa._tag === "None"
/** @internal */
export const isSome = (fa: Option): fa is Some => fa._tag === "Some"
/** @internal */
export const none: Option = Object.setPrototypeOf({ _tag: "None" }, proto)
/** @internal */
export const some = (a: A): Option => Object.setPrototypeOf({ _tag: "Some", value: a }, proto)