MRO::Compat catch

    BEGIN {
      # use Module::Runtime to work around the 5.8 require bugs
      if ($] < 5.009_005) {
        Module::Runtime::require_module('MRO::Compat');
      }
      else {
        require mro;
      }
    }