eliminating compiler errors caused by using user-defined type names as identifiers, and missing includes