IxData is an indexable data type for Haskell that works nicely with acid-state