Why define C# abstract classes without abstract members | Hacker News Reader