On Thursday, 11 July 2013 at 03:06:39 UTC, Meta wrote: > struct Option(T) > { > Algebraic!(Some!T, None) payload; > > alias payload this; > } This is untested but it probably looks something like this: private alias MaybeType = Algebraic!(Some!T, None); Option!int ans; ans.payload = MaybeType(None);