     
     /// EZSE: Creates a Dictionary with keys and values generated by running
     /// each [key: value] of self through the mapFunction.
-    func map<K, V>(map: (Key, Value) -> (K, V)) -> [K: V] {
+    public func map<K, V>(map: (Key, Value) -> (K, V)) -> [K: V] {
         var mapped: [K: V] = [:]
         forEach {
             let (_key, _value) = map($0, $1)

    }
    
    /// EZSE: Union of self and the input dictionaries.
    func union(dictionaries: Dictionary...) -> Dictionary {
        var result = self
        dictionaries.forEach { (dictionary) -> Void in
            dictionary.forEach { (key, value) -> Void in

/// EZSE: Union operator
public func | <K: Hashable, V> (first: [K: V], second: [K: V]) -> [K: V] {
    return first.union(second)
}
