if "buffer_size" for "buffer: SmartVector" in function "return_buffer" more than placed in "new" than drop buffer and create new with expected capacity.
"get_buffer" should return "SmartVector" not Option. If pull is empty. Just create new instance of SmartVector
if "buffer_size" for "buffer: SmartVector" in function "return_buffer" more than placed in "new" than drop buffer and create new with expected capacity.
"get_buffer" should return "SmartVector" not Option. If pull is empty. Just create new instance of SmartVector