Sou imoral por usar um nome de variável que difere de seu tipo apenas por maiúsculas e minúsculas?

Por exemplo, considere este pedaço de código:

var person = new Person();

ou para você Pythonistas:

person = Person()

É-me dito constantemente como isso é ruim, mas ainda temos que ver um exemplo da imoralidade dessas duas linhas de código. Para mim, pessoa é uma Pessoa e tentar nomear outro nome é uma perda de tempo. Suponho que nos dias que antecederam o destaque da sintaxe, isso teria sido um grande problema. Atualmente, porém, é muito fácil diferenciar um nome de tipo de um nome de variável. Caramba, é fácil ver a diferença aqui no SO.

Ou há algo que estou perdendo? Nesse caso, seria útil se você pudesse fornecer um exemplo de código que causa problemas.

questionAnswers(30)

yourAnswerToTheQuestion