pub trait RawDecode<'de>: Sized {
// Required method
fn raw_decode(buf: &'de [u8]) -> BuckyResult<(Self, &'de [u8])>;
// Provided method
fn raw_decode_with_option(
buf: &'de [u8],
_opt: &RawDecodeOption
) -> BuckyResult<(Self, &'de [u8])> { ... }
}