Macro impl_sub

macro_rules! impl_sub {
    ($name:ident, $a:ty, $instr:ident) => { ... };
    ($name:ident, $a:ty, $b:ty, $c:ty, $instr:ident) => { ... };
}