Не соглашусь, насчет того, что DI аналогично цепочке вызовов — в случае автоматизированного DI это не так. Кроме того, можно использовать Service Locator. А реальных юз-кейсов для синглтона на самом деле очень мало.
Потому что применение синглтона в подавляющем большинстве случаев не оправдано и создает проблемы в виде хардовой зависимости и усложненного юнит-тестирования, хотя при этом может быть безболезненно использован тот же DI вместо синглтона.
Автор оригинального комментария, так и не смог сказать, зачем оно нужно на практике. Может быть Вы сможете? То, что оно работает в Java — это не показатель.
Ну вот, Вы сами замкнули круг :) Вы говорите, о ЯП, поддерживающих перегрузку методов. Но перегрузка методов не является неотлемъемой частью ООП. Небольшой хинт: в Smalltalk'е нет перегрузки методов.
?!