Lightweight sized types and matrices in Haskell