normalize (And components) atomics =
  let cs = map (`normalize` atomics) components
      cs' = flatten cs
      cs'' = combineAlls cs' atomics
      cs''' = combineExists cs''
  in case length cs''' of 1 -> head cs'''
                          _ -> And $ nub cs'''
normalize (And components) atomics =
  let cs = map (`normalize` atomics) components
      cs' = flatten cs
      cs'' = combineAlls cs' atomics
      cs''' = combineExists cs''
  in case length cs''' of 1 -> head cs'''
                          _ -> And $ nub cs'''
normalize (And components) atomics =
  let cs = map (`normalize` atomics) components
      cs' = flatten cs
      cs'' = combineAlls cs' atomics
      cs''' = combineExists cs''
  in case length cs''' of 1 -> head cs'''
                          _ -> And $ nub cs'''