Use native set() and fix Clone()

non-native set and the Clone() implementatoin were both causing
warnings. This fixes them, and I think it's actually more accurate.