tie %trie, 'Tie::Trie';
$trie{ fred } = 10;
$trie{ bill } = 20;
$trie{ total } = sum values %trie;
####
my $trie = Trie->new();
$trie->add( 'fred', 10 );
$trie->add( 'bill', 20 );
my $temp = sum map{ $trie->lookup( $_ ) } 'fred', 'bill';
$trie->add( 'total', $temp );
####
my $trie = maketree();
extend-trie( $trie, 'fred', 10 );
extend-trie( $trie, 'bill', 20 );
## Does your lisp stuff define a way of iterating the keys?
my $temp = sum lookup( $trie, 'fred' ), lookup( $trie, 'bill' );
extend-trie( $trie, 'total', $temp );
####
$collection->set( 3, $collection->get( 3 ) + 1 );
####
$collection[ 3 ]++;