diff --git a/src/Foreign/Storable/TraversableUnequalSizes.hs b/src/Foreign/Storable/TraversableUnequalSizes.hs
--- a/src/Foreign/Storable/TraversableUnequalSizes.hs
+++ b/src/Foreign/Storable/TraversableUnequalSizes.hs
@@ -36,8 +36,9 @@
 sizeOf ::
    (Fold.Foldable f, Storable a) =>
    f a -> Int
-sizeOf =
-   Fold.foldl' (\s x -> roundUp (St.alignment x) s + St.sizeOf x) 0
+sizeOf f =
+   roundUp (alignment f) $
+   Fold.foldl' (\s x -> roundUp (St.alignment x) s + St.sizeOf x) 0 f
 
 {-
 This function requires that alignment does not depend on an element value,
diff --git a/storable-record.cabal b/storable-record.cabal
--- a/storable-record.cabal
+++ b/storable-record.cabal
@@ -1,5 +1,5 @@
 Name:         storable-record
-Version:      0.0.2.4
+Version:      0.0.2.5
 Category:     Data, Foreign
 Synopsis:     Elegant definition of Storable instances for records
 Description:
@@ -63,7 +63,7 @@
 Source-Repository this
   Type:     darcs
   Location: http://code.haskell.org/~thielema/storable-record/
-  Tag:      0.0.2.4
+  Tag:      0.0.2.5
 
 Flag splitBase
   description: Choose the new smaller, split-up base package.
@@ -74,7 +74,7 @@
 
 Library
   Build-Depends:
-    transformers >=0.2 && <0.3,
+    transformers >=0.2 && <0.4,
     utility-ht >=0.0.1 && <0.1
   If flag(splitBase)
     Build-Depends:
