This can happen due to Chef's stupid approach to loading library files,
which uses Kernel#load rather than #require. Consequently a library
can get loaded twice: once by Chef::RunContext#load_libraries and once
by another library file which depends on it.
This is also the cause of the TYPE constants being redefined.