Mouse::Roleの難しさ。

一般にRoleとかTraitとかMixinとかは定性的な依存関係を持っている。


こんなかんじで、

こういう関係しか許されてない。(Mixinにインスタンス変数をもてる例もそんなにない)

ところで、Mouse::Roleは
アクセサをhasシンタクスでつくると、withの順番とかで、依存できない感じになる。

あとで、ちゃんと書くけど、振る舞いをhasシンタクスでつくると面倒になる。

Mixinは最後にインスタンスを着飾るようにわたしてあげるというイメージで実装するのがいいすね。

継承によって、別パッケージを別インスタンスとしてみなしてあげるのが一番いいかもしれない。