diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # ChangeLog for typed-process
 
+## 0.2.6.3
+
+* Doc improvements
+
 ## 0.2.6.2
 
 * Doc improvements
diff --git a/src/System/Process/Typed.hs b/src/System/Process/Typed.hs
--- a/src/System/Process/Typed.hs
+++ b/src/System/Process/Typed.hs
@@ -14,10 +14,11 @@
 -- @
 -- {-\# LANGUAGE OverloadedStrings \#-}
 --
--- runProcess "ls -l /home" >>= print
+-- 'runProcess' "ls -l /home" >>= print
 -- @
 --
--- Please see the README.md file for more examples of using this API.
+-- Please see the [README.md](https://github.com/fpco/typed-process#readme)
+-- file for more examples of using this API.
 module System.Process.Typed
     ( -- * Types
       ProcessConfig
@@ -30,6 +31,8 @@
     , proc
     , shell
 
+      -- | #processconfigsetters#
+
       -- ** Setters
     , setStdin
     , setStdout
@@ -53,6 +56,8 @@
     , setChildUserInherit
 #endif
 
+      -- | #streamspecs#
+
       -- * Stream specs
       -- ** Built-in stream specs
     , inherit
@@ -67,6 +72,8 @@
     -- ** Create your own stream spec
     , mkStreamSpec
 
+      -- | #launchaprocess#
+
       -- * Launch a process
     , runProcess
     , readProcess
@@ -89,6 +96,8 @@
     , withProcessWait_
     , withProcessTerm_
 
+      -- | #interactwithaprocess#
+
       -- * Interact with a process
 
       -- ** Process exit code
@@ -166,8 +175,12 @@
 --
 -- In all cases, the default for all three streams is to inherit the
 -- streams from the parent process. For other settings, see the
--- setters below for default values.
+-- [setters below](#processconfigsetters) for default values.
 --
+-- Once you have a @ProcessConfig@ you can launch a process from it
+-- using the functions in the section [Launch a
+-- process](#launchaprocess).
+--
 -- @since 0.1.0.0
 data ProcessConfig stdin stdout stderr = ProcessConfig
     { pcCmdSpec :: !P.CmdSpec
@@ -241,7 +254,8 @@
 -- 3. A cleanup action which will be run on the stream once the
 -- process terminates
 --
--- See examples below.
+-- To create a @StreamSpec@ see the section [Stream
+-- specs](#streamspecs).
 --
 -- @since 0.1.0.0
 data StreamSpec (streamType :: StreamType) a = StreamSpec
@@ -274,6 +288,9 @@
 -- | A running process. The three type parameters provide the type of
 -- the standard input, standard output, and standard error streams.
 --
+-- To interact with a @Process@ use the functions from the section
+-- [Interact with a process](#interactwithaprocess).
+--
 -- @since 0.1.0.0
 data Process stdin stdout stderr = Process
     { pConfig :: !(ProcessConfig () () ())
@@ -841,6 +858,9 @@
 -- exit, and only kill it with 'stopProcess' in the event that the
 -- inner function throws an exception.
 --
+-- To interact with a @Process@ use the functions from the section
+-- [Interact with a process](#interactwithaprocess).
+--
 -- @since 0.2.5.0
 withProcessWait :: (MonadUnliftIO m)
   => ProcessConfig stdin stdout stderr
@@ -865,6 +885,9 @@
 {-# DEPRECATED withProcess "Please consider using withProcessWait, or instead use withProcessTerm" #-}
 
 -- | Same as 'withProcessTerm', but also calls 'checkExitCode'
+--
+-- To interact with a @Process@ use the functions from the section
+-- [Interact with a process](#interactwithaprocess).
 --
 -- @since 0.2.5.0
 withProcessTerm_ :: (MonadUnliftIO m)
diff --git a/typed-process.cabal b/typed-process.cabal
--- a/typed-process.cabal
+++ b/typed-process.cabal
@@ -5,11 +5,11 @@
 -- see: https://github.com/sol/hpack
 
 name:           typed-process
-version:        0.2.6.2
+version:        0.2.6.3
 synopsis:       Run external processes, with strong typing of streams
-description:    Please see the tutorial at <https://haskell-lang.org/library/typed-process>
+description:    Please see the tutorial at <https://github.com/fpco/typed-process#readme>
 category:       System
-homepage:       https://haskell-lang.org/library/typed-process
+homepage:       https://github.com/fpco/typed-process
 bug-reports:    https://github.com/fpco/typed-process/issues
 author:         Michael Snoyman
 maintainer:     michael@snoyman.com
