macro_rules! opt_update {
    ($conn:ident, $query:expr => ($self:expr, $constraint:expr)) => { ... };
    ($conn:ident, $query:expr => ($self:expr, $constraint:expr), $($tail:tt)+) => { ... };
}