I see this huge C++ file and I raise you a Java file that's so enormous github refuses to render it: https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/...
Someone call a priest
Then I saw the subtle 'implements', which brought immediate repose to my soul.
IIRC they cited performance reasons when compiling the compiler for the decision not to split the file up, but I could be wrong on this.