diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+0.0.0.6
+
+* Fix IsoLatin1
+
 0.0.0.5
 
 * Remove unit data types.
diff --git a/spacechar.cabal b/spacechar.cabal
--- a/spacechar.cabal
+++ b/spacechar.cabal
@@ -1,5 +1,5 @@
 name:                 spacechar
-version:              0.0.0.5
+version:              0.0.0.6
 synopsis:             Space Character
 description:          All the space characters as types
 license:              BSD3
@@ -13,7 +13,7 @@
 cabal-version:        >=1.10
 homepage:             https://gitlab.com/tonymorris/spacechar
 bug-reports:          https://gitlab.com/tonymorris/spacechar/issues
-tested-with:          GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3, GHC == 8.6.5
+tested-with:          GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3, GHC == 8.6.5, GHC == 9.0.2
 
 source-repository     head
   type:               git
diff --git a/src/Data/Char/Space.hs b/src/Data/Char/Space.hs
--- a/src/Data/Char/Space.hs
+++ b/src/Data/Char/Space.hs
@@ -82,14 +82,14 @@
 , parseIsoLatin1
 ) where
 
-import Control.Category ( Category(id) )
-import Control.Lens ( Prism', prism', (#), Lens' )
+import Control.Category ( Category(id, (.)) )
+import Control.Lens ( Prism', prism', (#), preview, review, Lens' )
 import Data.Bool ( Bool )
 import Data.Char ( Char )
 import Data.Eq ( Eq((==)) )
 import Data.Int ( Int )
 import Data.Foldable ( asum )
-import Data.Functor ( Functor((<$)) )
+import Data.Functor ( Functor((<$)), (<$>) )
 import Data.Maybe ( Maybe(Nothing, Just) )
 import Data.Ord ( Ord )
 import GHC.Generics ( Generic )
@@ -1177,12 +1177,8 @@
   satisfy' (== '\12288') <?> "ideographic space character"
 
 data SpaceChar =
-  HorizontalTab
-  | LineFeed
+    IsoLatin1SpaceChar IsoLatin1
   | VerticalTab
-  | FormFeed
-  | CarriageReturn
-  | Whitespace
   | NoBreakSpace
   | OghamSpaceMark
   | EnQuad
@@ -1217,18 +1213,10 @@
   _SpaceChar =
     prism'
       (\case
-        HorizontalTab ->
-          '\9'
-        LineFeed ->
-          '\10'
+        IsoLatin1SpaceChar c ->
+          review _IsoLatin1 c
         VerticalTab ->
           '\11'
-        FormFeed ->
-          '\12'
-        CarriageReturn ->
-          '\13'
-        Whitespace ->
-          '\32'
         NoBreakSpace ->
           '\160'
         OghamSpaceMark ->
@@ -1264,17 +1252,17 @@
       )
       (\case
         '\9' ->
-          Just HorizontalTab
+          Just (IsoLatin1SpaceChar HorizontalTab)
         '\10' ->
-          Just LineFeed
+          Just (IsoLatin1SpaceChar LineFeed)
         '\11' ->
           Just VerticalTab
         '\12' ->
-          Just FormFeed
+          Just (IsoLatin1SpaceChar FormFeed)
         '\13' ->
-          Just CarriageReturn
+          Just (IsoLatin1SpaceChar CarriageReturn)
         '\32' ->
-          Just Whitespace
+          Just (IsoLatin1SpaceChar Whitespace)
         '\160' ->
           Just NoBreakSpace
         '\5760' ->
@@ -1307,8 +1295,8 @@
           Just MediumMathematicalSpace
         '\12288' ->
           Just IdeographicSpace
-        _ ->
-          Nothing
+        c ->
+          IsoLatin1SpaceChar <$> preview _IsoLatin1 c
       )
 
 parseSpaceChar ::
@@ -1316,12 +1304,8 @@
   p SpaceChar
 parseSpaceChar =
   asum [
-    HorizontalTab <$ parseHorizontalTab
-  , LineFeed <$ parseLineFeed
+    IsoLatin1SpaceChar <$> parseIsoLatin1
   , VerticalTab <$ parseVerticalTab
-  , FormFeed <$ parseFormFeed
-  , CarriageReturn <$ parseCarriageReturn
-  , Whitespace <$ parseWhitespace
   , NoBreakSpace <$ parseNoBreakSpace
   , OghamSpaceMark <$ parseOghamSpaceMark
   , EnQuad <$ parseEnQuad
@@ -1340,23 +1324,22 @@
   , IdeographicSpace <$ parseIdeographicSpace
   ]
 
-instance AsHorizontalTab SpaceChar where
-  _HorizontalTab =
+instance AsIsoLatin1 SpaceChar where
+  _IsoLatin1 =
     prism'
-      (\() -> HorizontalTab)
+      IsoLatin1SpaceChar
       (\case
-          HorizontalTab -> Just ()
+          IsoLatin1SpaceChar x -> Just x
           _ -> Nothing
       )
 
+instance AsHorizontalTab SpaceChar where
+  _HorizontalTab =
+    _IsoLatin1 . _HorizontalTab
+
 instance AsLineFeed SpaceChar where
   _LineFeed =
-    prism'
-      (\() -> LineFeed)
-      (\case
-          LineFeed -> Just ()
-          _ -> Nothing
-      )
+    _IsoLatin1 . _LineFeed
 
 instance AsVerticalTab SpaceChar where
   _VerticalTab =
@@ -1369,30 +1352,15 @@
 
 instance AsFormFeed SpaceChar where
   _FormFeed =
-    prism'
-      (\() -> FormFeed)
-      (\case
-          FormFeed -> Just ()
-          _ -> Nothing
-      )
+    _IsoLatin1 . _FormFeed
 
 instance AsCarriageReturn SpaceChar where
   _CarriageReturn =
-    prism'
-      (\() -> CarriageReturn)
-      (\case
-          CarriageReturn -> Just ()
-          _ -> Nothing
-      )
+    _IsoLatin1 . _CarriageReturn
 
 instance AsWhitespace SpaceChar where
   _Whitespace =
-    prism'
-      (\() -> Whitespace)
-      (\case
-          Whitespace -> Just ()
-          _ -> Nothing
-      )
+    _IsoLatin1 . _Whitespace
 
 instance AsNoBreakSpace SpaceChar where
   _NoBreakSpace =
@@ -1539,11 +1507,11 @@
       )
 
 data IsoLatin1 =
-  HorizontalTab_
-  | LineFeed_
-  | FormFeed_
-  | CarriageReturn_
-  | Whitespace_
+  HorizontalTab
+  | LineFeed
+  | FormFeed
+  | CarriageReturn
+  | Whitespace
   deriving (Eq, Ord, Show, Generic)
 
 class HasIsoLatin1 a where
@@ -1559,28 +1527,28 @@
   _IsoLatin1 =
     prism'
       (\case
-        HorizontalTab_ ->
+        HorizontalTab ->
           '\9'
-        LineFeed_ ->
+        LineFeed ->
           '\10'
-        FormFeed_ ->
+        FormFeed ->
           '\12'
-        CarriageReturn_ ->
+        CarriageReturn ->
           '\13'
-        Whitespace_ ->
+        Whitespace ->
           '\32'
       )
       (\case
         '\9' ->
-          Just HorizontalTab_
+          Just HorizontalTab
         '\10' ->
-          Just LineFeed_
+          Just LineFeed
         '\12' ->
-          Just FormFeed_
+          Just FormFeed
         '\13' ->
-          Just CarriageReturn_
+          Just CarriageReturn
         '\32' ->
-          Just Whitespace_
+          Just Whitespace
         _ ->
           Nothing
       )
@@ -1593,55 +1561,55 @@
   p IsoLatin1
 parseIsoLatin1 =
   asum [
-    HorizontalTab_ <$ parseHorizontalTab
-  , LineFeed_ <$ parseLineFeed
-  , FormFeed_ <$ parseFormFeed
-  , CarriageReturn_ <$ parseCarriageReturn
-  , Whitespace_ <$ parseWhitespace
+    HorizontalTab <$ parseHorizontalTab
+  , LineFeed <$ parseLineFeed
+  , FormFeed <$ parseFormFeed
+  , CarriageReturn <$ parseCarriageReturn
+  , Whitespace <$ parseWhitespace
   ]
 
 instance AsHorizontalTab IsoLatin1 where
   _HorizontalTab =
     prism'
-      (\() -> HorizontalTab_)
+      (\() -> HorizontalTab)
       (\case
-          HorizontalTab_ -> Just ()
+          HorizontalTab -> Just ()
           _ -> Nothing
       )
 
 instance AsLineFeed IsoLatin1 where
   _LineFeed =
     prism'
-      (\() -> LineFeed_)
+      (\() -> LineFeed)
       (\case
-          LineFeed_ -> Just ()
+          LineFeed -> Just ()
           _ -> Nothing
       )
 
 instance AsFormFeed IsoLatin1 where
   _FormFeed =
     prism'
-      (\() -> FormFeed_)
+      (\() -> FormFeed)
       (\case
-          FormFeed_ -> Just ()
+          FormFeed -> Just ()
           _ -> Nothing
       )
 
 instance AsCarriageReturn IsoLatin1 where
   _CarriageReturn =
     prism'
-      (\() -> CarriageReturn_)
+      (\() -> CarriageReturn)
       (\case
-          CarriageReturn_ -> Just ()
+          CarriageReturn -> Just ()
           _ -> Nothing
       )
 
 instance AsWhitespace IsoLatin1 where
   _Whitespace =
     prism'
-      (\() -> Whitespace_)
+      (\() -> Whitespace)
       (\case
-          Whitespace_ -> Just ()
+          Whitespace -> Just ()
           _ -> Nothing
       )
 
