Make a sparse version after digging up my Haskell knowledge.