macro_rules! safe_lock {
(clone: $lock_name:expr) => { ... };
(set: $lock_name:expr, $value:expr) => { ... };
(mem_take: $lock_name:expr) => { ... };
(mem_take: $lock_name:expr, $field_name:ident) => { ... };
(mem_replace: $lock_name:expr, $value:expr) => { ... };
(mem_replace: $lock_name:expr, $field_name:ident, $value:expr) => { ... };
}