insertH key val (x:xs) | isNothing (H.findOne key x) = H.insert key val x : xs
                       | otherwise = x : insertH key val xs
insertH key val (x:xs) | isNothing (H.findOne key x) = H.insert key val x : xs
                       | otherwise = x : insertH key val xs
insertH key val (x:xs) | isNothing (H.findOne key x) = H.insert key val x : xs
                       | otherwise = x : insertH key val xs