¿Hay trucos para hacer conversiones implícitas en F #?

Considere este código F # para sumar los números a continuacióni que son múltiplos de 3 y 5:

let isMultipleOfThreeOrFive n = 
    (n % 3 = 0) || (n % 5 = 0)

let sequenceOfMultiples i =
    seq {1 .. i - 1} |> Seq.filter isMultipleOfThreeOrFive

Ya quei es unint, se desbordará sii es largo. Esta versión conBigInteger se encarga de eso:

let isMultipleOfThreeOrFive n = 
    (n % 3I = 0I) || (n % 5I = 0I)

let sequenceOfMultiples (i : System.Numerics.BigInteger) =
    seq {1I .. i - 1I} |> Seq.filter isMultipleOfThreeOrFive

Para convertir elint versión a laBigInteger versión, tuve que agregar muchosIs después de los números. Esto se debe a que F # no realiza conversiones implícitas.

¿Hay alguna manera fácil de evitar esto o estaba agregandoIs en 6 lugares lo mejor que puedes hacer?

Respuestas a la pregunta(2)

Su respuesta a la pregunta