Actually, I think reflect.DeepEqual would work for all types, as long as the types are the same (so this entire branch)