diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 1.0.1
+
+- Small tweaks and modernizations.
+
 ## 1.0.0.1
 
 - Massaging bounds and future-proofing.
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2017, Azavea
+Copyright (c) 2017 - 2020, Azavea
 
 All rights reserved.
 
diff --git a/lib/Streaming/Osm.hs b/lib/Streaming/Osm.hs
--- a/lib/Streaming/Osm.hs
+++ b/lib/Streaming/Osm.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module    : Streaming.Osm
--- Copyright : (c) Azavea, 2017
+-- Copyright : (c) Azavea, 2017 - 2020
 -- License   : BSD3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Streaming/Osm/Internal/Parser.hs b/lib/Streaming/Osm/Internal/Parser.hs
--- a/lib/Streaming/Osm/Internal/Parser.hs
+++ b/lib/Streaming/Osm/Internal/Parser.hs
@@ -2,7 +2,7 @@
 
 -- |
 -- Module    : Streaming.Osm.Internal.Parser
--- Copyright : (c) Azavea, 2017
+-- Copyright : (c) Azavea, 2017 - 2020
 -- License   : BSD3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 
@@ -27,7 +27,7 @@
 header = do
   void $ A.take 4
   void $ A.word8 0x0a
-  void $ A.anyWord8
+  void A.anyWord8
   void $ A.string "OSMHeader" <|> A.string "OSMData"
   void $ optional (A.word8 0x12 *> varint >>= advance)
   void (A.word8 0x18 *> varint)
@@ -131,7 +131,7 @@
   ui <- optional (A.word8 0x20 *> varint)                         -- uid
   us <- optional (V.unsafeIndex st <$> (A.word8 0x28 *> varint))  -- user_sid
   vi <- (>>= booly) <$> optional (A.word8 0x30 *> varint)         -- visible
-  pure $ Info (fromIntegral i) vn (toffset <$> ts) cs ui us vi
+  pure $ Info i vn (toffset <$> ts) cs ui us vi
 
 -- | Parse a @DenseInfo@ message.
 denseInfo :: [Int] -> V.Vector B.ByteString -> A.Parser [Maybe Info]
diff --git a/lib/Streaming/Osm/Internal/Util.hs b/lib/Streaming/Osm/Internal/Util.hs
--- a/lib/Streaming/Osm/Internal/Util.hs
+++ b/lib/Streaming/Osm/Internal/Util.hs
@@ -2,7 +2,7 @@
 
 -- |
 -- Module    : Streaming.Osm.Internal.Util
--- Copyright : (c) Azavea, 2017
+-- Copyright : (c) Azavea, 2017 - 2020
 -- License   : BSD3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 
@@ -70,8 +70,11 @@
 -- from `words`.
 breakOn0 :: [Int] -> [[Int]]
 breakOn0 [] = []
-breakOn0 ns = xs : breakOn0 ys
-  where (xs, 0 : ys) = span (/= 0) ns
+breakOn0 ns = case ys of
+    []     -> [xs]
+    _ : zs -> xs : breakOn0 zs
+  where
+    (xs, ys) = span (/= 0) ns
 
 -- | A sort of "self-zip", forming pairs from every two elements in a list.
 -- Assumes that the list is of even length.
diff --git a/lib/Streaming/Osm/Types.hs b/lib/Streaming/Osm/Types.hs
--- a/lib/Streaming/Osm/Types.hs
+++ b/lib/Streaming/Osm/Types.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module    : Streaming.Osm.Types
--- Copyright : (c) Azavea, 2017
+-- Copyright : (c) Azavea, 2017 - 2020
 -- License   : BSD3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 
diff --git a/streaming-osm.cabal b/streaming-osm.cabal
--- a/streaming-osm.cabal
+++ b/streaming-osm.cabal
@@ -1,58 +1,64 @@
-cabal-version: 2.2
+cabal-version:      2.2
+name:               streaming-osm
+version:            1.0.1
+synopsis:
+  A hand-written streaming byte parser for OpenStreetMap Protobuf data.
 
-name:         streaming-osm
-version:      1.0.0.1
-synopsis:     A hand-written streaming byte parser for OpenStreetMap Protobuf data.
-description:  A hand-written streaming byte parser for OpenStreetMap Protobuf data.
-license:      BSD-3-Clause
-license-file: LICENSE
-author:       Colin Woodbury
-maintainer:   colin@fosskers.ca
-copyright:    Copyright (c) 2017 - 2019 Azavea
-category:     Streaming
-build-type:   Simple
+description:
+  A hand-written streaming byte parser for OpenStreetMap Protobuf data.
 
+license:            BSD-3-Clause
+license-file:       LICENSE
+author:             Colin Woodbury
+maintainer:         colin@fosskers.ca
+copyright:          Copyright (c) 2017 - 2020 Azavea
+category:           Streaming
+build-type:         Simple
 extra-source-files:
-    ChangeLog.md
-    test/*.osm.pbf
+  ChangeLog.md
+  test/*.osm.pbf
 
 common commons
   default-language: Haskell2010
-  ghc-options: -Wall
+  ghc-options:
+    -Wall -Wpartial-fields -Wincomplete-record-updates
+    -Wincomplete-uni-patterns -Widentities
+
   build-depends:
-      base >= 4.8 && < 5
-    , attoparsec ^>= 0.13
+    , attoparsec  ^>=0.13
+    , base        >=4.8  && <5
     , bytestring
-    , resourcet ^>= 1.2
-    , streaming ^>= 0.2
-    , vector ^>= 0.12
-    , zlib ^>= 0.6
+    , resourcet   ^>=1.2
+    , streaming   ^>=0.2
+    , vector      ^>=0.12
+    , zlib        ^>=0.6
 
 library
-  import: commons
-  hs-source-dirs: lib
+  import:          commons
+  hs-source-dirs:  lib
   exposed-modules:
-      Streaming.Osm
-      Streaming.Osm.Internal.Parser
-      Streaming.Osm.Internal.Util
-      Streaming.Osm.Types
+    Streaming.Osm
+    Streaming.Osm.Internal.Parser
+    Streaming.Osm.Internal.Util
+    Streaming.Osm.Types
+
   build-depends:
-      containers
-    , streaming-attoparsec ^>= 1.0
-    , streaming-bytestring ^>= 0.1
-    , text ^>= 1.2
+    , containers
+    , streaming-attoparsec  ^>=1.0
+    , streaming-bytestring  ^>=0.1
+    , text                  ^>=1.2
     , transformers
 
 test-suite streaming-osm-test
-  import: commons
-  type: exitcode-stdio-1.0
+  import:         commons
+  type:           exitcode-stdio-1.0
   hs-source-dirs: test
-  main-is: Test.hs
-  ghc-options: -threaded -with-rtsopts=-N
+  main-is:        Test.hs
+  ghc-options:    -threaded -with-rtsopts=-N
   build-depends:
-      streaming-osm
-    , tasty >= 1.1 && < 1.3
-    , tasty-hunit ^>= 0.10
+    , streaming-osm
+    , tasty          >=1.1  && <1.3
+    , tasty-hunit    ^>=0.10
 
 -- benchmark streaming-osm-bench
 --   import: commons
