Macro update

Source
macro_rules! update {
    ($type:ty, $($field:ident : $value:expr),+ $(,)?) => { ... };
    ($type:ty, $name:ident, $($field:ident : $value:expr),+ $(,)?) => { ... };
    ($type:ty, |$param:ident| $body:expr) => { ... };
    ($type:ty, $name:ident, |$param:ident| $body:expr) => { ... };
}