aListInsert :: Eq k => k -> a -> [(k,a)] -> [(k,a)]
aListInsert k a ps =
  [ (k',b)
  | (k',a') <- ps
  , let b = cond a a' $ k == k'
  ]
aListInsert :: Eq k => k -> a -> [(k,a)] -> [(k,a)]
aListInsert k a ps =
  [ (k',b)
  | (k',a') <- ps
  , let b = cond a a' $ k == k'
  ]
aListInsert k a ps =
  [ (k',b)
  | (k',a') <- ps
  , let b = cond a a' $ k == k'
  ]