I wished we'd had a way in #rust to say "usize is at least u32 big", because that would allow me to get rid of a loooooooot of "as" statements in #rusticl
Can you just put a configuration conditional block to check the architecture you are using? Create a type alias which is then set to either usize or u32. That way you could leave all type annotations as your aliased type regardless of the architecture.