A drawing engine in Haskell