I'm unsure how it would handle zero-size buffers if size==pos and no one would need those anyway.
snoc