eta-reduce type definition
add HList to exposed-modules
add haddock documentation