some
try to use result_of_t
finish lambda, not convinced
obviously emplace_back is not noexcept
add t_of, restore refs