as I wrote in the header, s and t are used in a consistent way - each was valid at one point during the call - it doesn't matter what a another goroutine does to s and t during the operation.