fn_mut macro generates function which takes mutable reference to self and returns mutable reference.
fn_mut
```rust
fn(attr1: &T1, attr2: &T2, ...) -> OutT { ... }
```