6 has over => (is => 'ro', required => 1);
8 has values => (is => 'ro', default => sub { {} });
12 my $values = $self->values;
13 return DX::ArrayStream->from_array(@{$values}{sort keys %$values});
17 my ($self, $value) = @_;
18 return ref($self)->new(%$self, values => { %{$self->values} })
23 my ($self, $value) = @_;
24 $self->values->{$value->${\$self->over}} = $value;
29 my ($self, $value) = @_;
30 delete $self->values->{$value->${\$self->over}};