The use of Span is problematic, because it lacks methods such as rbegin, leading to compile failures when used:
0error: no member named 'rbegin' in 'Span<const unsigned char>'
One could fix Span, but it seems better to use std::span, given that Span will be removed anyway in the long term.