Leveraging Rust Types for Modular Specification and Verification