A concern I have that I mentioned a long time ago is the use of __ in identifier, I believe it is prohibited by the standard.