Add Haddock docs, export constructors