Use `reduce` instead of `tap` method
Avoid using symbols for params keys
Use functional style in params processing