While testing out puppet:hiera, I was avoiding using the puppet class, as I didn't want to get puppet::master and friends properly configured first. This happened:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid relationship: Package[hiera] { require => Package[puppet] }, because Package[puppet] doesn't seem to be in the catalog
Automatically including puppet might be undesirable, but throwing a more explicit exception might be a good idea.