Having a public getter and a private setter of the same name is prohibited in TypeScript, as already discussed in various questions here on SO.
My main programming language is C#, where this is perfectly fine. I also consider it a useful construct, and to be honest, I don't really see what a problem could be with allowing this in TypeScript as well.
Why does TypeScript prohibit this? This question is not about workarounds or alike, I just want to know the reason for this design.
Edit: A code sample can be found on this question.