haskell-- parser can now take more complicated arrays