diff --git a/src/Option.ts b/src/Option.ts
index bae1ae381..f07e4d68a 100644
--- a/src/Option.ts
+++ b/src/Option.ts
@@ -140,7 +140,7 @@ export type Option = None | Some
* @category constructors
* @since 2.0.0
*/
-export const none: Option = _.none
+export const none: None = _.none
/**
* Constructs a `Some`. Represents an optional value that exists.
@@ -148,7 +148,7 @@ export const none: Option = _.none
* @category constructors
* @since 2.0.0
*/
-export const some: (a: A) => Option = _.some
+export const some: (a: A) => Some = _.some
/**
* Returns a *smart constructor* based on the given predicate.
diff --git a/src/internal.ts b/src/internal.ts
index 0f70718e7..a1933acb2 100644
--- a/src/internal.ts
+++ b/src/internal.ts
@@ -17,10 +17,10 @@ export const isNone = (fa: Option): fa is None => fa._tag === 'None'
export const isSome = (fa: Option): fa is Some => fa._tag === 'Some'
/** @internal */
-export const none: Option = { _tag: 'None' }
+export const none: None = { _tag: 'None' }
/** @internal */
-export const some = (a: A): Option => ({ _tag: 'Some', value: a })
+export const some = (a: A): Some => ({ _tag: 'Some', value: a })
// -------------------------------------------------------------------------------------
// Either