Definitely don't use NULL for anything -- it's a free space marker as patrick points out.
The type is actually unsigned int type;
I would make the following proposal: we reserve the range 0-255 for cbfs "system" (i.e. coreboot) use and open up the rest of the range for any other use. Then we allow people to register types on the wiki in some way.
I can't believe coreboot will ever need more than 256 types, and I can't believe the community will ever need more than 16M.
ron