Why the underscore for the actual struct? Why not just have struct and typedef named same thing?