introduce :: (Ord k) => k -> v -> Map k v -> Map k v
introduce k v m
  | k `member` m = error $ "keys multiple defined"
  | otherwise    = insert k v m
introduce :: (Ord k) => k -> v -> Map k v -> Map k v
introduce k v m
  | k `member` m = error $ "keys multiple defined"
  | otherwise    = insert k v m
introduce k v m
  | k `member` m = error $ "keys multiple defined"
  | otherwise    = insert k v m