If we think too hard about making this precise we'll wind up with names like uiosimulateviolatingnocloningtheorem and uiowavecollapse.
uioskip serves either to discard data without consuming it, or to advance the pointer after using the data with uiopeek. peek is in contrast to get, like bufq_get/peek -- it's nondestructive of the queue/transfer. Probably won't be used much in the UIO_READ direction (i.e., writing data into a user's buffer) but who knows. None of these opposites are perfect: bufq_poke would be bonkers, memcpy vs memmove is hopeless, and nothing here actually destroys the source object like C++ move semantics vs copy semantics which more accurately reflect the physical meanings of the English words. I'm more interested in how the nuclear reactor is going to work!