use Red::Column; unit role Red::Attr::Column; has %.args; has Red::Column $!column; method perl { $.column.gist } method column(--> Red::Column:D) { $!column.DEFINITE ?? $!column !! Red::Column.new: |%!args, :attr(self) } method create-column(Mu $model = Nil) { $!column = Red::Column.new: |%!args, :attr($model !=== Nil ?? self.clone: :package($model) !! self) }