diff --git a/src/MA/Algorithm/Types.hs b/src/MA/Algorithm/Types.hs
index 19132720b506a52d5173b4f4f99cb513e13a6bb8..f7c49bb496ec7d52a5e793f00511bb10e450db0f 100644
--- a/src/MA/Algorithm/Types.hs
+++ b/src/MA/Algorithm/Types.hs
@@ -24,12 +24,12 @@ import           Data.RefinablePartition        ( RefinablePartition )
 import           MA.Coalgebra.RefinementTypes
 
 data AlgoState s h = AlgoState
-  { toSub :: MVector s [EdgeRef]
-  , lastW :: MVector s (STRef s (Weight h))
-  , encoding :: Encoding (Label h) (H1 h)
-  , pred :: Vector [EdgeRef]
-  , partition :: RefinablePartition s
-  , h3Cache :: MVector s (H3 h)
+  { toSub :: {-# UNPACK #-} (MVector s [EdgeRef])
+  , lastW :: {-# UNPACK #-} (MVector s (STRef s (Weight h)))
+  , encoding :: {-# UNPACK #-} (Encoding (Label h) (H1 h))
+  , pred :: {-# UNPACK #-} (Vector [EdgeRef])
+  , partition :: {-# UNPACK #-} (RefinablePartition s)
+  , h3Cache :: {-# UNPACK #-} (MVector s (H3 h))
   }
 
 makeLensesFor