Na aula de JOIN o professor comenta que não se usa ON no CROSS JOIN e o próprio BQ não deixa rodar a query, mas na query da aula de "Exemplo do uso de junções" ele utiliza o ON no CROSS JOIN (Query abaixo) e funciona. Por que aqui a query rodou normalmente e na query da aula de JOIN o próprio Big Query não deixa rodar com o ON?
WITH index_produtos AS (
SELECT id_produto, nome, categoria, preco,
ARRAY (SELECT AS STRUCT mp, ROW_NUMBER() OVER() AS idx
FROM UNNEST(materiasprimas) AS mp) AS materiaprima_index,
ARRAY (SELECT AS STRUCT ds, ROW_NUMBER() OVER() AS idx
FROM UNNEST(distribuicao) AS ds) AS distribuicao_index
FROM curso-big-query-12339.belleza_verde_vendas.produtos)
SELECT ip.id_produto, ip.nome, ip.categoria, ip.preco,
mpUN.mp AS id_materia, dsUN.ds as distribuicao_materia
FROM index_produtos ip
CROSS JOIN UNNEST (ip.materiaprima_index) AS mpUN
CROSS JOIN UNNEST (ip.distribuicao_index) AS dsUN
ON mpUN.idx = dsUN.idx;