use v6; class Point { has $.x = 0; has $.y = 0; method gist { "[$.x, $.y]" } method set( :$joe = $!x, :$susan = $!y ) { $!x = $joe; $!y = $susan; } } my $point = Point.new(); say $point.x; # 0 say $point; # [0, 0] # $point.x = 3; Error! $point = Point.new(x => 3, y => 5); say $point; # [3,5] $point.set(joe => 10, susan => 20); say $point; # [10, 20] $point.set(joe => 100); say $point; # [100, 20]