servant is a set of packages for declaring web APIs at the type-level and then using those API specifications to: write servers (this part of servant can be considered a web framework), obtain client functions (in haskell), generate client functions for other programming languages, generate documentation for your web applications and more… All in a type-safe manner. Documentation – Cookbook – WGP2