¿Por qué este operador de alimentación Perl 6 es una "declaración falsa"?

Tomé este ejemplo deDía 10 - Operadores de alimentación del Calendario de Adviento 2010 de Perl 6 con el ligero cambio de.uc Para el.ucfirst eso ya no está allí:

my @rakudo-people = <scott patrick carl moritz jonathan jerry stephen>;
@rakudo-people
    ==> grep { /at/ } ==> map { .uc } ==> my @who-it's-at;
say ~@who-it's-at;

Lo escribo de manera ligeramente diferente con algunos espacios en blanco adicionales:

my @rakudo-people = <scott patrick carl moritz jonathan jerry stephen>;
@rakudo-people
    ==> grep { /at/ }
    ==> map { .uc } ==> my @who-it's-at;
say ~@who-it's-at;

Ahora es una "declaración falsa":

===SORRY!=== Error while compiling ...
Bogus statement
------>         ==> grep { /at/ }⏏<EOL>
expecting any of:
    postfix
    prefix
    statement end
    term

Esto no es un problema solo con este ejemplo. Algunos ejemplos en los documentos actuales pueden exhibir el mismo comportamiento.

Si agrego ununspace&nbsp;Al final de la línea ofensiva, funciona de nuevo:

my @rakudo-people = <scott patrick carl moritz jonathan jerry stephen>;
@rakudo-people
    ==> grep { /at/ } \
    ==> map { .uc } ==> my @who-it's-at;
say ~@who-it's-at;

Curiosamente, un comentario al final de esa línea no funciona. Pensé que se habría comido el espacio en blanco ofensivo.

losoperador de alimentación&nbsp;dice:

En el caso de rutinas / métodos que toman un solo argumento o donde el primer argumento es un bloque, a menudo se requiere que llame entre paréntesis

Eso funciona:

my @rakudo-people = <scott patrick carl moritz jonathan jerry stephen>;
@rakudo-people
    ==> grep( { /at/ } )
    ==> map { .uc } ==> my @who-it's-at;
say ~@who-it's-at;

¿Pero por qué no fue eso un problema en la primera forma? ¿Qué está haciendo el espacio en blanco aquí? ¿Y qué situaciones se incluyen en "a menudo requerido"?