A simple point class looks like this:
class Point {
has [qw/x y/] => ( default => sub { 0 } );
sub clear ($self) {
$self->@{ 'x', 'y' } = ( 0, 0 );
}
}
What?