As there can be only one consumer, a consumer can safely "peek" the tail of the queue. returns a pointer to the tail if the queue is not empty, nullptr otherwise there's no overload withTOptionalas it doesn't support references