content: -- |
  -- = Protocol Buffers v3 for Haskell
  --
  -- This package defines tools for working with protocol buffers version 3 in
  -- Haskell.
  --
  -- Specifically, it provides:
  --
  -- * Low-level functions for encoding and decoding messages
  -- * Type classes for encoding and decoding messages, and instances for all
  --   wire formats identified in the specification
  -- * A higher-level approach to encoding and decoding, based on "GHC.Generics"
  -- * A way of creating .proto files from Haskell types.
  --
  -- See the "Proto3.Suite.Tutorial" module for more details.
  {-# LANGUAGE ExplicitNamespaces #-}
  
  module Proto3.Suite
    (
    -- * Message Encoding/Decoding
      toLazyByteString
    , fromByteString
    , fromB64
    , Message(..)
    , MessageField(..)
    , Primitive(..)
    , HasDefault(..)
    , FieldNumber(..)
    , fieldNumber
  
    -- * Documentation
    , message
    , enum
    , RenderingOptions(..)
    , Named(..)
    , Finite(..)
  
    -- * Wire Formats
    , Fixed(..)
    , Signed(..)
    , Enumerated(..)
    , Nested(..)
    , UnpackedVec(..)
    , PackedVec(..)
    , NestedVec(..)
    , Commented(..)
    , type (//)()
  
    -- * AST
    , module DotProto
    ) where
  
  import Proto3.Suite.Class
  import Proto3.Suite.DotProto as DotProto
  import Proto3.Suite.Types
  
  import Proto3.Wire.Types
  