macro_rules! decoder_functions {
    (
        $preamble:block,
        $loop_preable:block,
        $eof:block,
        $body:block,
        $slf:ident,
        $src_consumed:ident,
        $dest:ident,
        $source:ident,
        $b:ident,
        $destination_handle:ident,
        $unread_handle:ident,
        $destination_check:ident
    ) => { ... };
}