fix dynamic haskell to be truly dynamic