At some stage (in a few years) we will want to bump the MSRV again, this is a tracking issue for possible changes at such a time - [x] Use `matches!` macro - came in in Rust 1.42 - [x] Use `#[track_caller]` [in `secp256k1`](https://github.com/rust-bitcoin/rust-secp256k1/pull/458#discussion_r903334612) and maybe elsewhere; Rust 1.46 - [x] slice patterns instead of `copy_from_slice` where relevant; Rust 1.42 - [x] Remove `unsigned_abs` from `src/util/amount` and use [`i8::unsigned_abs()`](https://doc.rust-lang.org/core/primitive.i8.html#method.unsigned_abs); Rust 1.51