diff --git a/edges.cabal b/edges.cabal
--- a/edges.cabal
+++ b/edges.cabal
@@ -1,7 +1,7 @@
 name:
   edges
 version:
-  0.5
+  0.6
 category:
   Graphs
 synopsis:
diff --git a/library/Edges/Data.hs b/library/Edges/Data.hs
--- a/library/Edges/Data.hs
+++ b/library/Edges/Data.hs
@@ -3,7 +3,6 @@
   Edges,
   Node(..),
   NodeCounts,
-  Edge(..),
   EdgeCounts,
   Amount(..),
   module Functions,
diff --git a/library/Edges/Folds.hs b/library/Edges/Folds.hs
--- a/library/Edges/Folds.hs
+++ b/library/Edges/Folds.hs
@@ -8,14 +8,14 @@
 import qualified PrimitiveExtras.PrimMultiArray as PrimMultiArray
 
 
-edgeCounts :: Amount a -> Fold (Edge a b) (EdgeCounts a b)
+edgeCounts :: Amount a -> Fold (Node a, Node b) (EdgeCounts a b)
 edgeCounts (Amount amountInt) =
   dimap edgeSourceIndex EdgeCounts (PrimArray.indexCountsFold amountInt)
   where
-    edgeSourceIndex (Edge sourceIndex _) = sourceIndex
+    edgeSourceIndex (Node sourceIndex, _) = sourceIndex
 
-edges :: EdgeCounts a b -> Amount b -> Fold (Edge a b) (Edges a b)
+edges :: EdgeCounts a b -> Amount b -> Fold (Node a, Node b) (Edges a b)
 edges (EdgeCounts edgeCountsPrimArray) (Amount bAmountInt) =
   dimap edgePair (Edges bAmountInt) (PrimMultiArray.fold edgeCountsPrimArray)
   where
-    edgePair (Edge sourceIndex targetIndex) = (sourceIndex, targetIndex)
+    edgePair (Node sourceIndex, Node targetIndex) = (sourceIndex, fromIntegral targetIndex)
diff --git a/library/Edges/Types.hs b/library/Edges/Types.hs
--- a/library/Edges/Types.hs
+++ b/library/Edges/Types.hs
@@ -14,8 +14,6 @@
 
 newtype EdgeCounts source target = EdgeCounts (PrimArray Word32)
 
-data Edge source target = Edge Int Word32
-
 {-|
 Total amount of unique entities of the type
 -}
