Class::MOPに基づくインスタンスMOPでは以下のようなメソッドを提供しなければならないんだけど…
package Class::MOP::Instance;
sub set_slot_value {
my ($self, $instance, $slot_name, $value) = @_;
$instance->{$slot_name} = $value;
}
これはカプセル化しようと思ってもできないんじゃ…。
make_immutable()しなければ使えない,ということにして,inline_*だけ実装するのもありかなあ。
もう少し調べてみよう。