i try to use try_from/unwrap consistently when converting between numeric type sizes in rust, but it's just so much ceremony, just yoloing an `as` tempts me every time, especially for conversions between say u64 and usize