std drain retures a new struct Drain, but heapless can drop the drained data by using method copy_within & truncate.