might be confusing that the arg is named `v`, since it's a key. should also note that the `func` param takes key first, then val (the opposite order of `mapValues`).