public static void HasValue <T>(Optional <T> optional, string message = null, [CallerArgumentExpression("optional")] string name = null) { if (optional.HasValue) { return; } Throw.ArgumentExceptionForHasValue(optional, message, name); }