Shortcut on top of Optional to created defined value, uses IFTI to reduce the noise
ditto
Boost Software License Version 1.0. See LICENSE_BOOST.txt for details. Alternatively, this file may be distributed under the terms of the Tango 3-Clause BSD License (see LICENSE_BSD.txt for details).
Copyright (c) 2009-2017 dunnhumby Germany GmbH. All rights reserved.
Wraps any type in a struct that also contains boolean field indicating if value is in defined state.
If T is a value type, Optional!(T) is value type too.