Martin, Mark: this was what I considered, too. The downside of this is that now also the names of the arguments are prone to spelling errors. Also it adds quite some overhead.

Michal: As I said, 10 levels is about other people’s code. I like the indentation method for just 1 level of ifs. It’s much cleaner.

TI: this does look indeed more verbose but it achieves what I am trying without polluting the namespace. The difference between what you wrote and my point, is that I don’t want to have type hinting, but rather a hint for the meaning :)