Uso de dois pontos em chamadas de método e função em Perl 6

Estou imaginando o que dois pontos têm a ver com chamadas de método e função no Perl 6. Para o registro, estou usando o perl6 versão 2015.05-55-gd84bbbc, construído no MoarVM versão 2015.05.

Acabei de ver o seguinte em umTeste de especificação Perl6 (S32-io) (Adicionei o comentário):

$fh.print: "0123456789A";   # prints '0123456789A' to the file

Tanto quanto eu posso dizer, isso é equivalente a:

$fh.print("0123456789A");   # prints '0123456789A' to the file

Ambos parecem ter vários argumentos e achatar bem as listas:

$fh.print: "012", "345", "6789A";   # prints '0123456789A' to the file
$fh.print("012", "345", "6789A");   # prints '0123456789A' to the file

my @a = <012 345 6789A>;

$fh.print(@a);   # prints '0123456789A' to the file
$fh.print: @a;   # prints '0123456789A' to the file

Deve haver algum motivo para ter essas duas sintaxes diferentes. Existe algum motivo para usar uma ou outra sintaxe?

Notei também que temos que usar: ou() com impressão, quando usado como método:

$fh.print(@a);   # Works
$fh.print: @a;   # Works!
$fh.print @a;    # ERROR!

Há também algum comportamento interessante ao usar dois pontos com a funçãoprint. Nesse caso,: e() não são equivalentes:

print @a;  # Prints '0123456789A' (no newline, just like Perl 5)
print(@a); # Ditto
print: @a; # Prints '012 345 6789A' followed by a newline (at least in REPL)

print  @a, @a; # Error (Two terms in a row)
print: @a, @a; # Prints '012 345 6789A 012 345 6789A' followed by a newline (in REPL) 

Então tentei usar print em um arquivo de script. Isso funciona para impressões com saída padrão:

print @a;

No entanto, isso não é impresso na saída padrão:

print: @a, @a;

Mas a versão do método funciona bem:

$fh.print: @a, @a; # Prints '0123456789A0123456789A' to the file

Eu sinto que quase entendo isso, mas não consigo colocar em palavras. Alguém poderia explicar essas variedades de uso da impressão. Além disso, esses comportamentos vão mudar devido ao grande refatorador da lista?

questionAnswers(2)

yourAnswerToTheQuestion