diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -40,13 +40,56 @@
 
 Long options can be given as `--key value` or as `--key=value`.
 
-Short options can be given as `-D value` as well as `--Dvalue`.
+Short options can be given as `-D value` as well as `-Dvalue`.
 
 If a switch, defined by `switch` is given, it will show up in the `switches` `Set`.
 You can query for whether a switch is set or not with `(?)`.
 
-Switches can be comined, i.e. `-hv` is the same as `-h -v`.
+Switches can be combined, i.e. `-hv` is the same as `-h -v`.
 
 If `--` is supplied as an argument, no options are evaluated beyond this point.
 Any unknown or malformed option (`-x`, `--xxxx`) will be treated as an argument.
 
+
+API
+---
+
+### Define options
+
+#### `switch :: String -> Option`
+
+Defines a command line switch with the given long name.
+
+
+#### `optarg :: String -> Option`
+
+Defines a command line option with the given long name.
+
+
+#### `alias  ~: option :: Char -> Option -> Option`
+
+Defines a shorthand for the given option.
+
+
+#### `option ~? check :: Option -> (String -> Bool) -> Option`
+
+Defines a check which the optional arguments' value has to pass.
+
+
+#### `option ~= pattern :: Option -> String -> Option`
+
+Defines a pattern which the optional arguments' value must match.
+
+
+### Get options and arguments
+
+#### `type OptArgs = (MultiMap String String, Set String, [String])`
+
+#### `getOpts :: [Options] -> IO OptArgs`
+
+#### `getOpts' :: [Options] -> [String] -> OptArgs`
+
+
+### Query MultiMaps / Sets
+
+Part of [hydrogen-prelude](http://github.com/scravy/hydrogen-prelude).
diff --git a/hydrogen-cli-args.cabal b/hydrogen-cli-args.cabal
--- a/hydrogen-cli-args.cabal
+++ b/hydrogen-cli-args.cabal
@@ -1,5 +1,5 @@
 name:                 hydrogen-cli-args
-version:              0.9
+version:              0.10
 homepage:             https://scravy.de/hydrogen-cli-args/
 synopsis:             Hydrogen Command Line Arguments Parser
 license:              MIT
@@ -20,7 +20,7 @@
   build-depends:      base ==4.7.*
                       , containers ==0.5.*
                       , hydrogen-multimap ==0.1
-                      , hydrogen-prelude ==0.9
+                      , hydrogen-prelude ==0.10
   hs-source-dirs:     src
   ghc-options:        -Wall
   default-language:   Haskell2010
diff --git a/src/Hydrogen/CliArgs.hs b/src/Hydrogen/CliArgs.hs
--- a/src/Hydrogen/CliArgs.hs
+++ b/src/Hydrogen/CliArgs.hs
@@ -11,6 +11,7 @@
   , Has (..)
   , MultiMap
   , Container (..)
+  , OptArgs
  ) where
 
 import Hydrogen.Prelude.System
@@ -18,6 +19,8 @@
 import qualified Data.Map as Map
 import qualified Data.Set as Set
 
+type OptArgs = (MultiMap String String, Set String, [String])
+
 switch, optarg :: String -> Option
 
 switch = OptSwitch
@@ -69,10 +72,10 @@
     OptShort _ xs -> check xs
     OptCheck x _ -> Just x
 
-getOpts :: [Option] -> IO (MultiMap String String, Set String, [String])
+getOpts :: [Option] -> IO OptArgs
 getOpts opts = getOpts' opts <$> getArgs
 
-getOpts' :: [Option] -> [String] -> (MultiMap String String, Set String, [String])
+getOpts' :: [Option] -> [String] -> OptArgs
 getOpts' opts = readArgs MultiMap.empty Set.empty
 
   where
