Why every Rust crate feels like a research paper on abstraction