usage of decltype in generic/run.hpp causes very weird problems with Visual Studio. Changing to a standard declval style appears to work everywhere.