デフォルトのオプションと:isおよび:requiredオプションの廃止

classXで、Mooseをなぞるのをやめてアクセサの宣言のデフォルトの設定を変更しました。

:writableオプションを指定しない限りは、アクセサはwriterをpublicにしないようになりました。これは、単にreaderを定義する時は、オプションを明示的に定義する必要はなく、writerをpublicから触れるようなときはより明示的に指定した方が良いと思ったからです。:isを:writableに変更したのは強調させる意図です。

また、:defaultオプションを指定するか、:optionalにtrueを指定したとき以外はアクセサは必要な状態になるようにし、ないと例外が起こるようにしました。これは、オプションなアクセサは明示的に示すべきだと考えたからです。

具体例はコミットログと追加されたテストを見るのがわかりやすいです。