import Data.Packed import Data.Maybe data Car = Car { chambers :: [Chamber] } data Chamber = MainChamber { upperPipe, lowerPipe :: Pipe } | AuxChamber { upperPipe, lowerPipe :: Pipe } data Pipe = Pipe { sections :: [Section] } data Section = Section { tank, inComp, outComp :: Int } data Fuel = Matrix Int