model.copy() now correctly deep copies complex attributes