A Haskell library for functional GUI development