Currently the fragmenter only supports contiguous payloads.
Supporting vectored payloads without the need to allocate a buffer larger than MTU would reduce the memory footprint.
Supporting embedded-io::Read payloads would enable applications like Hubris to implement this in a more efficient way.
For Hubris, this could be archived by implementing embedded-io::Read for leases.