```rust // error fn bind_by_ref(x: Option<u32>, y: Option<&u32>) { match (x, y) { (Some(ref x), _) | (_, Some(x)) => {} _ => {} } } // ok fn match_ergonomics(x: Option<u32>, y: Option<&u32>) { match (&x, y) { (Some(x), _) | (_, Some(x)) => {} _ => {} } } ``` ideally `bind_by_ref` also compiles.