avoiding trait collisions - use_once?
<p>I have two PHP traits that each inherit from the same 3rd trait:</p>

<pre><code>trait C {
    public function smallTalk() {
        echo 'c';
    }
}

trait A {
    use C;
    public function ac() {
        echo 'a'.smallTalk();
    }
}

trait B {
    use C;
    public function bc() {
        echo 'b'.smallTalk();
    }
}
</code></pre>

<p>And I want to use them both in a class:</p>

<pre><code>class D {
    use A, B;
    public function acbc() {
        echo ac().bc();
    }
}
</code></pre>

<p>but I keep getting the error</p>

<blockquote>
  <p>Fatal error: Trait method smallTalk has not been applied, because there are collisions with other trait methods on D</p>
</blockquote>

<p>I know <code>use_once</code> is not a thing, but I am looking for the same functionality that <code>require_once</code> or <code>include_once</code> provides, but for traits. This example is simplified. My real <code>C</code> has lots of methods and is inherited by many more than 2 traits, so I don't really want to have to repeat a long string of <code>insteadof</code> every time I use more than 1 of these traits.</p>