only use .set on non plain objects