macro_rules! safe_lock_option {
(is_none: $lock_name:expr) => { ... };
(is_some: $lock_name:expr) => { ... };
(take: $lock_name:expr) => { ... };
(take: $lock_name:expr, $field_name:ident) => { ... };
(replace: $lock_name:expr, $value:expr) => { ... };
(replace: $lock_name:expr, $field_name:ident, $value:expr) => { ... };
}