What would prevent them being loaded? Permissions error? How could that arise? I think it's OK to handle these corner cases in the main code base, I just want to work out what it is we're dealing with.

Am I right in thinking that you're handling two different cases here? The section above using `find_module` avoids loading the PySide modules unless all the ones we need are present, so that we can fall back to PyQt4 if some are missing. That bit I think I follow. This second addition I'm more hazy about.