{- Transform a `Map` by applying a function to each value -} let Map = ./Type sha256:210c7a9eba71efbb0f7a66b3dcf8b9d3976ffc2bc0e907aadfb6aa29c333e8ed ? ./Type let Entry = ./Entry sha256:f334283bdd9cd88e6ea510ca914bc221fc2dab5fb424d24514b2e0df600d5346 ? ./Entry let List/map = ../List/map sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ../List/map let map : ∀(k : Type) → ∀(a : Type) → ∀(b : Type) → (a → b) → Map k a → Map k b = λ(k : Type) → λ(a : Type) → λ(b : Type) → λ(f : a → b) → λ(m : Map k a) → List/map (Entry k a) (Entry k b) ( λ(before : Entry k a) → { mapKey = before.mapKey, mapValue = f before.mapValue } ) m let example0 = assert : map Text Natural Bool Natural/even [ { mapKey = "A", mapValue = 2 } , { mapKey = "B", mapValue = 3 } , { mapKey = "C", mapValue = 5 } ] ≡ [ { mapKey = "A", mapValue = True } , { mapKey = "B", mapValue = False } , { mapKey = "C", mapValue = False } ] let example1 = assert : map Text Natural Bool Natural/even ([] : List { mapKey : Text, mapValue : Natural }) ≡ ([] : List { mapKey : Text, mapValue : Bool }) in map