Restrições de literais numéricos não primitivos não podem ser usadas em correspondências padrões porque eles podem ser mapeados ...

Restrições de literais numéricos não primitivos não podem ser usadas em correspondências padrões porque eles podem ser mapeados para multiplicar tipos diferentes através do uso de um módulo NumericLiteral. Considere o uso da substituição com uma variável e use 'when  = ' no final da cláusula de correspondência.