Since the Null PMC access is gone, I'm inclined to close this ticket (after adding a test or two).
$ perl6 -e 'my %h=("a"=>1,"b"=>2); my $h_ref=\%h; say $h_ref.{"a"}' (Any) WRT the following command I wonder what output is expected currently. It looks as if the content of %h is put in the "list" part of the Capture: $ perl6 -e 'my %h=(a=>1,b=>2); my $ref = \%h; say $ref.perl; say $ref[0].perl' Capture.new(list => ("a" => 1, "b" => 2,)) ("b" => 2, "a" => 1).hash I'm not sure if that's the right thing. If that's not the case, IMHO a new ticket should be created for that problem, considering $ perl6 -e 'say (\(a=>1,b=>2)).perl' Capture.new(hash => {"b" => 2, "a" => 1}) $ perl6 -e 'say (\%(a=>1,b=>2)).perl' Capture.new(list => ("a" => 1, "b" => 2,))