public record UhOh<A> : Maybe<A> { public UhOh() : base(new Maybe<A>.Nothing()) { } } Maybe<int> m = new UhOh<int>();