diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,19 @@
 # Revision history for language-sally
 
+## 0.1.2.0  -- 2017-06-02
+
+* New contributors: Kevin Quick and Ryan Scott!
+* Added a comment field to `SallyQuery` so that queries in the input language
+  can be annotated.
+
+## 0.1.1.0  -- 2017-06-22
+
+* Added a type for Sally Queries called `SallyQuery`.
+
+## 0.1.0.1  -- 2017-06-22
+
+* Made haddock documentation improvements.
+
 ## 0.1.0.0  -- 2017-06-02
 
 * First version. Released on an unsuspecting world.
diff --git a/language-sally.cabal b/language-sally.cabal
--- a/language-sally.cabal
+++ b/language-sally.cabal
@@ -1,5 +1,5 @@
 name:                language-sally
-version:             0.1.1.0
+version:             0.1.2.0
 synopsis:            AST and pretty printer for Sally
 description:         AST and pretty printer for the Sally
                      <https://github.com/SRI-CSL/sally> input language
@@ -12,6 +12,10 @@
 build-type:          Simple
 extra-source-files:  ChangeLog.md
 cabal-version:       >=1.10
+
+source-repository head
+  type:                git
+  location:            https://github.com/GaloisInc/language-sally
 
 library
   build-depends:       base           >= 4.8   && < 5
diff --git a/src/Language/Sally/Expr.hs b/src/Language/Sally/Expr.hs
--- a/src/Language/Sally/Expr.hs
+++ b/src/Language/Sally/Expr.hs
@@ -37,6 +37,7 @@
   , andExprs
   , andPreds
   , orExprs
+  , orPreds
   , varExpr
   , varExpr'
   , xorExpr
diff --git a/src/Language/Sally/Types.hs b/src/Language/Sally/Types.hs
--- a/src/Language/Sally/Types.hs
+++ b/src/Language/Sally/Types.hs
@@ -42,6 +42,7 @@
   , SallyTransition(..)
   , SallySystem(..)
   , SallyQuery(..)
+  , mkSallyQuery
   , TrResult(..)
 ) where
 
@@ -303,9 +304,17 @@
   { sqName :: Name       -- ^ system name
   , sqLet :: [SallyLet]  -- ^ let bindings
   , sqPred :: SallyPred  -- ^ predicate to query
+  , sqComment :: Text    -- ^ comment header for query
   }
   deriving (Eq, Show)
 
+-- | Convenience function to construct a minimal SallyQuery, omitting
+-- any optional information.
+mkSallyQuery :: Name -> [SallyLet] -> SallyPred -> SallyQuery
+mkSallyQuery name lets pred = SallyQuery { sqName=name, sqLet=lets, sqPred=pred
+                                         , sqComment=""
+                                         }
+
 instance ToSExp SallyQuery where
   toSExp sq = SXList $ bareText "query" :
                        toSExp (sqName sq) :
@@ -356,9 +365,7 @@
               -- needs to come (almost) last
               vcat (system_comment : [sxPretty (tresSystem tr)]) <$$>
               -- queries
-              vcat (queries_comment : intersperse
-                                        sallyCom
-                                        (map sxPretty (tresQueries tr)))
+              vcat (queries_comment : concatMap prettyQuery (tresQueries tr))
     where
       consts = if null (tresConsts tr) then text ";; NONE"
                else vcat (map sxPretty (tresConsts tr))
@@ -369,3 +376,5 @@
       trans_comment  = linebreak <> sallyCom <+> text "Transitions"
       system_comment = linebreak <> sallyCom <+> text "System Definition"
       queries_comment = linebreak <> sallyCom <+> text "Queries"
+      prettyQuery q = [ sallyCom <+> text "Query " <+> text (T.unpack $ sqComment q)
+                      , sxPretty q ]
