Add documentations
`cabal check` pass