Refactor
Add methods `TypeOf`
Fix coding style a bit
Change file name
Refactor and add interface for `Dry`