macro_rules! register_ops {
    (
        ops $ops:ident,
        name $name:ident,
        partial_left $partial_left:expr,
        partial_right $partial_right:expr,
    ) => { ... };
    (
        ops $ops:ident,
        name $name:ident state $ops_tensor_state:ty,
        partial $partial:expr,
    ) => { ... };
    (
        ops $ops:ident,
        name $name:ident,
        partial $partial:expr,
    ) => { ... };
}