Patterns for Defensive Programming in Rust