macro_rules! impl_gradient {
    ($gradient_type:ident, $other_type:ident) => { ... };
}