kvs.map { case (k, _) => (k -> f.unit) }(breakOut)

is easier on the GC. mapValues is lazy, so it keeps holding the V instances.