workaround for ICC: decltype in template parameter