diff --git a/Source/FunicularSwitch.Generators.Templates/MyError.cs b/Source/FunicularSwitch.Generators.Templates/MyError.cs
index f36a64f..141e352 100644
--- a/Source/FunicularSwitch.Generators.Templates/MyError.cs
+++ b/Source/FunicularSwitch.Generators.Templates/MyError.cs
@@ -68,7 +68,7 @@ internal enum UnionCases
public override string ToString() => Enum.GetName(typeof(UnionCases), UnionCase) ?? UnionCase.ToString();
bool Equals(MyError other) => UnionCase == other.UnionCase;
- public override bool Equals(object obj)
+ public override bool Equals(object? obj)
{
if (ReferenceEquals(null, obj)) return false;
if (ReferenceEquals(this, obj)) return true;
diff --git a/Source/FunicularSwitch/FunicularSwitch.csproj b/Source/FunicularSwitch/FunicularSwitch.csproj
index fc7391e..cc08864 100644
--- a/Source/FunicularSwitch/FunicularSwitch.csproj
+++ b/Source/FunicularSwitch/FunicularSwitch.csproj
@@ -13,8 +13,8 @@
- 5
- 1.1
+ 6
+ 0.0
$(MajorVersion).0.0
diff --git a/Source/FunicularSwitch/Option.cs b/Source/FunicularSwitch/Option.cs
index 729d7c3..829f849 100644
--- a/Source/FunicularSwitch/Option.cs
+++ b/Source/FunicularSwitch/Option.cs
@@ -7,31 +7,41 @@
namespace FunicularSwitch
{
- public abstract class Option
+ public static class Option
{
- public static Option Some(T value) => new Some(value);
+ public static Option Some(T value) => Option.Some(value);
public static Option None() => Option.None;
public static async Task