class Interval { has Real $.lb = die 'Lower bound is required'; has Real $.ub = die 'Upper bound is required'; multi method lb() { $!lb } multi method lb($lb) { die "Require lb <= ub" unless $lb <= $!ub; $!lb = $lb; } multi method ub() { $!ub } multi method ub($ub) { die "Require lb <= ub" unless $!lb <= $ub; $!ub = $ub; } }