Return instead of in-place operation