so basically, we need to modify the casting function to not use $set when overwrite is set? Seems like that's the function that does all the $set magic