Allow traits to provide methods from multiple modules

Conflicts only occur when the names clash but the methods are unequal.