In Memory::Optional::Value() - use {} not T() to get the correct (c++11) default behavior(pod-types)
new draft Containers::Optional<T>