The lazy instantiation is a minor "optimisation" that probably isn't the best general purpose solution. So I agree that it isn't necessary.