diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
 # Revision history for `checked-literals`
 
+## 0.1.1 -- 2026-05-13
+* Added support for macOS
+
 ## 0.1.0.0 -- 2026-02-28
 
 * First version. Released on an unsuspecting world.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -39,7 +39,6 @@
 
 # TODO
 - [ ] Test in larger ecosystems (bittide?)
-- [ ] Release on Hackage
 - [ ] Implement in `clash-prelude`
 - [ ] Investigate use of "if instance exist" hackery to get better error messages in completely polymorphic settings? (Low priority, IMO.)
 
diff --git a/checked-literals.cabal b/checked-literals.cabal
--- a/checked-literals.cabal
+++ b/checked-literals.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.4
 name: checked-literals
-version: 0.1.0.0
+version: 0.1.1
 synopsis: GHC plugin for checked numeric literals
 description:
   GHC plugin that rewrites numeric literals so out-of-bounds and inexact
@@ -13,7 +13,7 @@
 license: BSD-2-Clause
 license-file: LICENSE
 author: Martijn Bastiaan
-maintainer: martijn@hmbastiaan.nl
+maintainer: QBayLogic B.V. <devops@qbaylogic.com>
 category: Development
 build-type: Simple
 extra-doc-files:
@@ -68,7 +68,10 @@
     syb >=0.7 && <0.8,
     template-haskell >=2.20 && <2.25,
 
-  hs-source-dirs: src
+  hs-source-dirs:
+    src
+    src-extra
+
   default-language: GHC2021
   default-extensions:
     DataKinds
@@ -102,6 +105,7 @@
   import: warnings, typechecker-plugins, sane-records
   type: exitcode-stdio-1.0
   main-is: Main.hs
+  ghc-options: -fplugin=CheckedLiterals
   other-modules:
     Data.Ratio.Extra
     Test.Tasty.AssertGhc
@@ -139,6 +143,6 @@
 
   hs-source-dirs:
     tests
-    src
+    src-extra
 
   default-language: GHC2021
diff --git a/src-extra/Data/Ratio/Extra.hs b/src-extra/Data/Ratio/Extra.hs
new file mode 100644
--- /dev/null
+++ b/src-extra/Data/Ratio/Extra.hs
@@ -0,0 +1,32 @@
+module Data.Ratio.Extra where
+
+import Data.Ratio qualified as Ratio
+
+{- | Show a 'Rational' in fixed-point notation, without using scientific notation.
+
+>>> showFixedPoint (1 % 2)
+"0.5"
+>>> showFixedPoint (-0.1)
+"-0.1"
+>>> showFixedPoint 10
+"10.0"
+>>> showFixedPoint 1.154646000
+"1.154646"
+-}
+showFixedPoint :: Rational -> String
+showFixedPoint rational
+  | numerator < 0 = "-" <> result
+  | otherwise = result
+ where
+  result = show whole <> "." <> concat (go0 fractional)
+  (whole, fractional) = abs numerator `quotRem` denominator
+  numerator = Ratio.numerator rational
+  denominator = Ratio.denominator rational
+
+  go0 0 = ["0"]
+  go0 i = go1 i
+
+  go1 0 = []
+  go1 i = show w : go1 f
+   where
+    (w, f) = (10 * i) `quotRem` denominator
diff --git a/src/CheckedLiterals/Class/Integer.hs b/src/CheckedLiterals/Class/Integer.hs
--- a/src/CheckedLiterals/Class/Integer.hs
+++ b/src/CheckedLiterals/Class/Integer.hs
@@ -36,11 +36,13 @@
   (Assert (lit <=? $(maxBoundAsNat @T)) (PositiveUnsignedError lit T $(maxBoundAsNat @T))) => \
   CheckedPositiveIntegerLiteral lit T
 
-CHECKED_POSITIVE_UNSIGNED_INTEGER_INSTANCE (Word)
-CHECKED_POSITIVE_UNSIGNED_INTEGER_INSTANCE (Word8)
-CHECKED_POSITIVE_UNSIGNED_INTEGER_INSTANCE (Word16)
-CHECKED_POSITIVE_UNSIGNED_INTEGER_INSTANCE (Word32)
-CHECKED_POSITIVE_UNSIGNED_INTEGER_INSTANCE (Word64)
+{- FOURMOLU_DISABLE -}
+CHECKED_POSITIVE_UNSIGNED_INTEGER_INSTANCE(Word)
+CHECKED_POSITIVE_UNSIGNED_INTEGER_INSTANCE(Word8)
+CHECKED_POSITIVE_UNSIGNED_INTEGER_INSTANCE(Word16)
+CHECKED_POSITIVE_UNSIGNED_INTEGER_INSTANCE(Word32)
+CHECKED_POSITIVE_UNSIGNED_INTEGER_INSTANCE(Word64)
+{- FOURMOLU_ENABLE -}
 
 instance CheckedPositiveIntegerLiteral lit Integer
 
@@ -66,11 +68,13 @@
   ) => \
   CheckedPositiveIntegerLiteral lit T
 
-CHECKED_POSITIVE_SIGNED_INTEGER_INSTANCE (Int)
-CHECKED_POSITIVE_SIGNED_INTEGER_INSTANCE (Int8)
-CHECKED_POSITIVE_SIGNED_INTEGER_INSTANCE (Int16)
-CHECKED_POSITIVE_SIGNED_INTEGER_INSTANCE (Int32)
-CHECKED_POSITIVE_SIGNED_INTEGER_INSTANCE (Int64)
+{- FOURMOLU_DISABLE -}
+CHECKED_POSITIVE_SIGNED_INTEGER_INSTANCE(Int)
+CHECKED_POSITIVE_SIGNED_INTEGER_INSTANCE(Int8)
+CHECKED_POSITIVE_SIGNED_INTEGER_INSTANCE(Int16)
+CHECKED_POSITIVE_SIGNED_INTEGER_INSTANCE(Int32)
+CHECKED_POSITIVE_SIGNED_INTEGER_INSTANCE(Int64)
+{- FOURMOLU_ENABLE -}
 
 -- Float/Double always round (or clamp to infinity)
 instance CheckedPositiveIntegerLiteral lit Float
@@ -110,11 +114,13 @@
         ':$$: 'Text "Possible fix: use 'uncheckedLiteral' from 'CheckedLiterals' to bypass this check."
     )
 
-CHECKED_NEGATIVE_UNSIGNED_INTEGER_INSTANCE (Word)
-CHECKED_NEGATIVE_UNSIGNED_INTEGER_INSTANCE (Word8)
-CHECKED_NEGATIVE_UNSIGNED_INTEGER_INSTANCE (Word16)
-CHECKED_NEGATIVE_UNSIGNED_INTEGER_INSTANCE (Word32)
-CHECKED_NEGATIVE_UNSIGNED_INTEGER_INSTANCE (Word64)
+{- FOURMOLU_DISABLE -}
+CHECKED_NEGATIVE_UNSIGNED_INTEGER_INSTANCE(Word)
+CHECKED_NEGATIVE_UNSIGNED_INTEGER_INSTANCE(Word8)
+CHECKED_NEGATIVE_UNSIGNED_INTEGER_INSTANCE(Word16)
+CHECKED_NEGATIVE_UNSIGNED_INTEGER_INSTANCE(Word32)
+CHECKED_NEGATIVE_UNSIGNED_INTEGER_INSTANCE(Word64)
+{- FOURMOLU_ENABLE -}
 
 instance CheckedNegativeIntegerLiteral lit Integer
 
@@ -140,11 +146,13 @@
   ) => \
   CheckedNegativeIntegerLiteral lit T
 
-CHECKED_NEGATIVE_SIGNED_INTEGER_INSTANCE (Int)
-CHECKED_NEGATIVE_SIGNED_INTEGER_INSTANCE (Int8)
-CHECKED_NEGATIVE_SIGNED_INTEGER_INSTANCE (Int16)
-CHECKED_NEGATIVE_SIGNED_INTEGER_INSTANCE (Int32)
-CHECKED_NEGATIVE_SIGNED_INTEGER_INSTANCE (Int64)
+{- FOURMOLU_DISABLE -}
+CHECKED_NEGATIVE_SIGNED_INTEGER_INSTANCE(Int)
+CHECKED_NEGATIVE_SIGNED_INTEGER_INSTANCE(Int8)
+CHECKED_NEGATIVE_SIGNED_INTEGER_INSTANCE(Int16)
+CHECKED_NEGATIVE_SIGNED_INTEGER_INSTANCE(Int32)
+CHECKED_NEGATIVE_SIGNED_INTEGER_INSTANCE(Int64)
+{- FOURMOLU_ENABLE -}
 
 -- Float/Double always round (or clamp to infinity)
 instance CheckedNegativeIntegerLiteral lit Float
diff --git a/src/CheckedLiterals/Class/Rational.hs b/src/CheckedLiterals/Class/Rational.hs
--- a/src/CheckedLiterals/Class/Rational.hs
+++ b/src/CheckedLiterals/Class/Rational.hs
@@ -51,13 +51,15 @@
   ) => \
   CheckedPositiveRationalLiteral str num den (Fixed E)
 
-CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE (E0, 1)
-CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE (E1, 10)
-CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE (E2, 100)
-CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE (E3, 1_000)
-CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE (E6, 1_000_000)
-CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE (E9, 1_000_000_000)
-CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE ((res :: Nat), res)
+{- FOURMOLU_DISABLE -}
+CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE(E0, 1)
+CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE(E1, 10)
+CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE(E2, 100)
+CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE(E3, 1_000)
+CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE(E6, 1_000_000)
+CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE(E9, 1_000_000_000)
+CHECKED_POSITIVE_FIXED_RATIONAL_INSTANCE((res :: Nat), res)
+{- FOURMOLU_ENABLE -}
 
 -- | Identity helper that attaches a positive rational literal check.
 checkedPositiveRationalLiteral :: (CheckedPositiveRationalLiteral fixed num den a) => a -> a
@@ -78,13 +80,15 @@
   ) => \
   CheckedNegativeRationalLiteral str num den (Fixed E)
 
-CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE (E0, 1)
-CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE (E1, 10)
-CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE (E2, 100)
-CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE (E3, 1_000)
-CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE (E6, 1_000_000)
-CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE (E9, 1_000_000_000)
-CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE ((res :: Nat), res)
+{- FOURMOLU_DISABLE -}
+CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE(E0, 1)
+CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE(E1, 10)
+CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE(E2, 100)
+CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE(E3, 1_000)
+CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE(E6, 1_000_000)
+CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE(E9, 1_000_000_000)
+CHECKED_NEGATIVE_FIXED_RATIONAL_INSTANCE((res :: Nat), res)
+{- FOURMOLU_ENABLE -}
 
 -- | Identity helper that attaches a negative rational literal check.
 checkedNegativeRationalLiteral :: (CheckedNegativeRationalLiteral fixed num den a) => a -> a
@@ -124,11 +128,13 @@
   ) => \
   CheckedPositiveRationalLiteral str num den (Ratio T)
 
-CHECKED_POSITIVE_UNSIGNED_RATIONAL_INSTANCE (Word)
-CHECKED_POSITIVE_UNSIGNED_RATIONAL_INSTANCE (Word64)
-CHECKED_POSITIVE_UNSIGNED_RATIONAL_INSTANCE (Word32)
-CHECKED_POSITIVE_UNSIGNED_RATIONAL_INSTANCE (Word16)
-CHECKED_POSITIVE_UNSIGNED_RATIONAL_INSTANCE (Word8)
+{- FOURMOLU_DISABLE -}
+CHECKED_POSITIVE_UNSIGNED_RATIONAL_INSTANCE(Word)
+CHECKED_POSITIVE_UNSIGNED_RATIONAL_INSTANCE(Word64)
+CHECKED_POSITIVE_UNSIGNED_RATIONAL_INSTANCE(Word32)
+CHECKED_POSITIVE_UNSIGNED_RATIONAL_INSTANCE(Word16)
+CHECKED_POSITIVE_UNSIGNED_RATIONAL_INSTANCE(Word8)
+{- FOURMOLU_ENABLE -}
 
 type PositiveSignedRatioNotRepresentable str num den typ minVal maxVal =
   TypeError
@@ -166,11 +172,13 @@
   ) => \
   CheckedPositiveRationalLiteral str num den (Ratio T)
 
-CHECKED_POSITIVE_SIGNED_RATIONAL_INSTANCE (Int)
-CHECKED_POSITIVE_SIGNED_RATIONAL_INSTANCE (Int64)
-CHECKED_POSITIVE_SIGNED_RATIONAL_INSTANCE (Int32)
-CHECKED_POSITIVE_SIGNED_RATIONAL_INSTANCE (Int16)
-CHECKED_POSITIVE_SIGNED_RATIONAL_INSTANCE (Int8)
+{- FOURMOLU_DISABLE -}
+CHECKED_POSITIVE_SIGNED_RATIONAL_INSTANCE(Int)
+CHECKED_POSITIVE_SIGNED_RATIONAL_INSTANCE(Int64)
+CHECKED_POSITIVE_SIGNED_RATIONAL_INSTANCE(Int32)
+CHECKED_POSITIVE_SIGNED_RATIONAL_INSTANCE(Int16)
+CHECKED_POSITIVE_SIGNED_RATIONAL_INSTANCE(Int8)
+{- FOURMOLU_ENABLE -}
 
 type NegativeNaturalRatioNotRepresentable str num den typ =
   TypeError
@@ -210,11 +218,13 @@
   (NegativeUnsignedRatioNotRepresentable str num den T $(maxBoundAsNat @T)) => \
   CheckedNegativeRationalLiteral str num den (Ratio T)
 
-CHECKED_NEGATIVE_UNSIGNED_RATIONAL_INSTANCE (Word)
-CHECKED_NEGATIVE_UNSIGNED_RATIONAL_INSTANCE (Word64)
-CHECKED_NEGATIVE_UNSIGNED_RATIONAL_INSTANCE (Word32)
-CHECKED_NEGATIVE_UNSIGNED_RATIONAL_INSTANCE (Word16)
-CHECKED_NEGATIVE_UNSIGNED_RATIONAL_INSTANCE (Word8)
+{- FOURMOLU_DISABLE -}
+CHECKED_NEGATIVE_UNSIGNED_RATIONAL_INSTANCE(Word)
+CHECKED_NEGATIVE_UNSIGNED_RATIONAL_INSTANCE(Word64)
+CHECKED_NEGATIVE_UNSIGNED_RATIONAL_INSTANCE(Word32)
+CHECKED_NEGATIVE_UNSIGNED_RATIONAL_INSTANCE(Word16)
+CHECKED_NEGATIVE_UNSIGNED_RATIONAL_INSTANCE(Word8)
+{- FOURMOLU_ENABLE -}
 
 type NegativeSignedRatioNotRepresentable str num den typ minVal maxVal =
   TypeError
@@ -252,8 +262,10 @@
   ) => \
   CheckedNegativeRationalLiteral str num den (Ratio T)
 
-CHECKED_NEGATIVE_SIGNED_RATIONAL_INSTANCE (Int)
-CHECKED_NEGATIVE_SIGNED_RATIONAL_INSTANCE (Int64)
-CHECKED_NEGATIVE_SIGNED_RATIONAL_INSTANCE (Int32)
-CHECKED_NEGATIVE_SIGNED_RATIONAL_INSTANCE (Int16)
-CHECKED_NEGATIVE_SIGNED_RATIONAL_INSTANCE (Int8)
+{- FOURMOLU_DISABLE -}
+CHECKED_NEGATIVE_SIGNED_RATIONAL_INSTANCE(Int)
+CHECKED_NEGATIVE_SIGNED_RATIONAL_INSTANCE(Int64)
+CHECKED_NEGATIVE_SIGNED_RATIONAL_INSTANCE(Int32)
+CHECKED_NEGATIVE_SIGNED_RATIONAL_INSTANCE(Int16)
+CHECKED_NEGATIVE_SIGNED_RATIONAL_INSTANCE(Int8)
+{- FOURMOLU_ENABLE -}
diff --git a/src/Data/Ratio/Extra.hs b/src/Data/Ratio/Extra.hs
deleted file mode 100644
--- a/src/Data/Ratio/Extra.hs
+++ /dev/null
@@ -1,32 +0,0 @@
-module Data.Ratio.Extra where
-
-import Data.Ratio qualified as Ratio
-
-{- | Show a 'Rational' in fixed-point notation, without using scientific notation.
-
->>> showFixedPoint (1 % 2)
-"0.5"
->>> showFixedPoint (-0.1)
-"-0.1"
->>> showFixedPoint 10
-"10.0"
->>> showFixedPoint 1.154646000
-"1.154646"
--}
-showFixedPoint :: Rational -> String
-showFixedPoint rational
-  | numerator < 0 = "-" <> result
-  | otherwise = result
- where
-  result = show whole <> "." <> concat (go0 fractional)
-  (whole, fractional) = abs numerator `quotRem` denominator
-  numerator = Ratio.numerator rational
-  denominator = Ratio.denominator rational
-
-  go0 0 = ["0"]
-  go0 i = go1 i
-
-  go1 0 = []
-  go1 i = show w : go1 f
-   where
-    (w, f) = (10 * i) `quotRem` denominator
