learning me some Rust and tup