Removed typedef from pure references

The reason is that typedef is not a _pure_ reference - it contains also the
name of the new type it defines.
No need to out-if the typedef anymore
Unnecessary bool cast
Replaced obsolete function with new
No need to perform the bool conversion
Changed the member to the correct typedef
Using adequate type for the ID
CTF boolean type