Defining Shared Behavior with Traits - The Rust Programming Language