use overload '+' => \&append, '+=' => \&append, '=' => => sub { bless [ @{$_[0]} ], 'Test' };