attempt to fix case where queue position counters overflow.
work in progress fixing race when growing array. this is alluded to in a footnote of section 4.
mark ptr ctors noexcept