Doc IMonad, Identity.ToString(), refactoring