Adding noexcept to function, changing signature of generic constructor for function