Why returning an object and not the `void` primitive?