//! Contains a macro that's used internally to generate a `serde_conv` implementation
//! for `[Fingering](crate::Fingering)` and [`Layer`](crate::Layer), but can be used for anything
//! that would also want to implement [`Keyboard`](crate::Keyboard).
/// **NOTE: Depends on [`serde_with`](https://crates.io/crates/serde_with).**
///
/// Macro to generate a `serde_conv` implementation for anything that would also implement
/// [`Keyboard`](crate::Keyboard).