--------------------------------------------------------------
-- List all permutations of bag types to test

allBagTests :: Test
allBagTests = TestList
   [ bagTests (empty :: Ord a => LPH.Heap a)
   , bagTests (empty :: Ord a => Min.Min (LPH.Heap a) a)
   , bagTests (empty :: Ord a => LH.Heap a)
   , bagTests (empty :: Ord a => Min.Min (LH.Heap a) a)
   , bagTests (empty :: Ord a => SkH.Heap a)
   , bagTests (empty :: Ord a => Min.Min (SkH.Heap a) a)
   , bagTests (empty :: Ord a => SpH.Heap a)
   , bagTests (empty :: Ord a => Min.Min (SpH.Heap a) a)
   , bagTests (empty :: Ord a => Min.Min (Min.Min (LPH.Heap a) a) a)
   ]
allBagTests :: Test
allBagTests = TestList
   [ bagTests (empty :: Ord a => LPH.Heap a)
   , bagTests (empty :: Ord a => Min.Min (LPH.Heap a) a)
   , bagTests (empty :: Ord a => LH.Heap a)
   , bagTests (empty :: Ord a => Min.Min (LH.Heap a) a)
   , bagTests (empty :: Ord a => SkH.Heap a)
   , bagTests (empty :: Ord a => Min.Min (SkH.Heap a) a)
   , bagTests (empty :: Ord a => SpH.Heap a)
   , bagTests (empty :: Ord a => Min.Min (SpH.Heap a) a)
   , bagTests (empty :: Ord a => Min.Min (Min.Min (LPH.Heap a) a) a)
   ]
allBagTests = TestList
   [ bagTests (empty :: Ord a => LPH.Heap a)
   , bagTests (empty :: Ord a => Min.Min (LPH.Heap a) a)
   , bagTests (empty :: Ord a => LH.Heap a)
   , bagTests (empty :: Ord a => Min.Min (LH.Heap a) a)
   , bagTests (empty :: Ord a => SkH.Heap a)
   , bagTests (empty :: Ord a => Min.Min (SkH.Heap a) a)
   , bagTests (empty :: Ord a => SpH.Heap a)
   , bagTests (empty :: Ord a => Min.Min (SpH.Heap a) a)
   , bagTests (empty :: Ord a => Min.Min (Min.Min (LPH.Heap a) a) a)
   ]