 	public static var arbitrary : Gen<Dictionary<Key, Value>> {
 		return [Key].arbitrary.flatMap { (k : [Key]) in
 			return [Value].arbitrary.flatMap { (v : [Value]) in
-				return Gen.pure(Dictionary(zip(k, v)))
+				return Gen.pure(Dictionary(zip(k, v)) { $1 })
 			}
 		}
 	}

	}
}

// MARK: - Implementation Details Follow

private func removes<A : Arbitrary>(_ k : Int, n : Int, xs : [A]) -> [[A]] {
	let xs2 : [A] = Array(xs.suffix(max(0, xs.count - k)))

	fatalError("Array could not produce a first element")
}

	let xss = [A](xs[1..<xs.endIndex])
	let a : [[A]] = A.shrink(x).map({ [$0] + xss })
	let b : [[A]] = shrinkOne(xss).map({ [x] + $0 })
	return a + b
}

