It's not to hinder; it's to catch mistakes.
I could easily make it throw an exception, but at this point, I didn't think it was necessary.
Or is it necessary in your opinion? Or perhaps simply returning NULL?
Well, returning NULL doesn't hurt, so let's add it as a good measure.
Meh. Not such a good design, since you can't rely on it returning NULL, it at least it catches your mistakes in Debug mode.