diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,12 @@
 # ChangeLog / ReleaseNotes
 
+## Version 0.9.0.2
+
+* Minor documentation changes.
+* Resolving some Haddock issues in documentation.
+* Uploaded to [Hackage][]:
+  <http://hackage.haskell.org/package/between-0.9.0.2>
+
 
 ## Version 0.9.0.1
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,3 +1,12 @@
+Between
+=======
+
+[![Hackage](https://budueba.com/hackage/between)][Hackage: between]
+
+
+Description
+-----------
+
 It turns out that this combinator
 
     f ~@~ g = (f .) . (. g)
@@ -7,5 +16,37 @@
 
 This library not only define `~@~` combinator, but also some derived
 combinators that can help us to easily define a lot of things including
-lenses. See [lens package](http://hackage.haskell.org/package/lens) for
-detais on what lenses are.
+lenses. See [lens package][Hackage: lens] for detais on what lenses are.
+
+Function `Data.Function.on` can be implemented using `~@~` as:
+
+    on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
+    on f g = (id ~@~ g ~@~ g) f
+
+If function @on3@ existed in /base/ then it could be defined as:
+
+    on3 :: (b -> b -> b -> d) -> (a -> b) -> a -> a -> a -> d
+    on3 f g = (id ~@~ g ~@~ g ~@~ g) f
+
+For more examples see documentation.
+
+
+Documentation
+-------------
+
+Stable releases with API documentation are available on
+[Hackage][Hackage: between].
+
+
+Contributions
+-------------
+
+Contributions, pull requests and bug reports are welcome! Please don't be
+afraid to contact author using GitHub or by e-mail (see `.cabal` file for
+that).
+
+
+[Hackage: between]:
+    https://hackage.haskell.org/package/between
+[Hackage: lens]:
+    http://hackage.haskell.org/package/lens
diff --git a/between.cabal b/between.cabal
--- a/between.cabal
+++ b/between.cabal
@@ -1,5 +1,5 @@
 name:                   between
-version:                0.9.0.1
+version:                0.9.0.2
 synopsis:               Function combinator "between" and derived combinators
 description:
   It turns out that this combinator
@@ -14,11 +14,18 @@
   lenses. See <http://hackage.haskell.org/package/lens lens package> for
   detais on what lenses are.
   .
-  README and ChangeLog can be found in source code package and on GitHub:
+  Function @Data.Function.on@ can be implemented using @~\@~@ as:
   .
-  * <https://github.com/trskop/between/blob/master/README.md>
+  > on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
+  > on f g = (id ~@~ g ~@~ g) f
   .
-  * <https://github.com/trskop/between/blob/master/ChangeLog.md>
+  If function @on3@ existed in /base/ then it could be defined as:
+  .
+  > on3 :: (b -> b -> b -> d) -> (a -> b) -> a -> a -> a -> d
+  > on3 f g = (id ~@~ g ~@~ g ~@~ g) f
+  .
+  Other usage examples and documentation can be found in
+  "Data.Function.Between".
 
 homepage:               https://github.com/trskop/between
 bug-reports:            https://github.com/trskop/between/issues
@@ -58,4 +65,4 @@
 source-repository this
   type:                 git
   location:             git://github.com/trskop/between.git
-  tag:                  v0.9.0.1
+  tag:                  v0.9.0.2
diff --git a/src/Data/Function/Between.hs b/src/Data/Function/Between.hs
--- a/src/Data/Function/Between.hs
+++ b/src/Data/Function/Between.hs
@@ -25,7 +25,7 @@
 --
 -- Which is the core pattern used by all functions defined in this module.
 --
--- Trying to generalize this pattern furhter ends as:
+-- Trying to generalize this pattern further ends as:
 -- @(f 'Data.Functor.<$>') '.' ('Data.Functor.<$>' g)@, where
 -- @'Data.Functor.<$>' = 'fmap'@. Other combinations of substituting '.' for
 -- 'fmap' will end up less or equally generic. Type of such expression is:
@@ -60,7 +60,8 @@
 
     -- * Derived Combinators
     --
-    -- Combinators that further paramterize @f@ and @g@ in @f '.' g '.' h@.
+    -- | Combinators that either further parametrise @f@ or @g@ in
+    -- @f '.' g '.' h@, or apply '~@~' more then once.
     , (^@~)
     , (~@@^)
 
@@ -72,8 +73,8 @@
 
     -- ** Lifted Combinators
     --
-    -- Combinators based on '~@~', '^@~', '^@^', and their flipped variants,
-    -- that use 'fmap' to lift one or more of its arguments in to operate in
+    -- | Combinators based on '~@~', '^@~', '^@^', and their flipped variants,
+    -- that use 'fmap' to lift one or more of its arguments to operate in
     -- 'Functor' context.
     , (<~@~>)
     , (<~@@~>)
@@ -129,8 +130,8 @@
 (~@@~) = flip between
 infixr 8 ~@@~
 
--- | As '~@~', but first function is also parametrized with @a@, hence the name
--- '^@~'. Character @^@ indicates which argument is parametrized with
+-- | As '~@~', but first function is also parametrised with @a@, hence the name
+-- '^@~'. Character @^@ indicates which argument is parametrised with
 -- additional argument.
 --
 -- This function is defined as:
@@ -228,7 +229,7 @@
 --
 -- @
 -- \\f g -> 'fmap' f '~@~' 'fmap' g
--- @.
+-- @
 --
 -- Name of '<~@~>' simply says that we apply 'Data.Functor.<$>' ('fmap') to
 -- both its arguments and then we apply '~@~'.
@@ -295,7 +296,7 @@
 -- Defined as:
 --
 -- @
--- f ~@~> g -> f '~@~' 'fmap' g@.
+-- f '~@~>' g -> f '~@~' 'fmap' g
 -- @
 --
 -- Name of '~@~>' simply says that we apply 'Data.Functor.<$>' ('fmap') to
