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