Why is that necessary? Can't we always use the initial out_dtype?