I do not know why these flags were added, but if you do not have a reason to write something it is better not to write it. In the same way, if you do not know why a convention is put in place do not follow it blindly. Most of those `is_*` flags are there as workaround for bad class structure.