Class::Accessor::LiteやClass::Accessor::Lite::Lazyのように使えて, 型の恩恵を受けられる, Class::Accessor::Typedというモジュールを昔書きました. metacpan.org 詳しくは, 昔Kichijoji.pmで紹介した時に使った資料をまとめたものがあるので, こちらをご覧頂ければと思います. papix.hatenablog.com このモジュールは大変便利なんですが, 1つ課題がありました. それは独自の型をうまくいい感じに使う方法が当時の自分には思い浮かばなかった... ということです. 例えば, 次のような Types.pm があり, ここで「正の整数」であるPositiveIntという型を定義していたとします. package Types; use strict; use warnings; use Mous