F #: не понимая совпадения .. с

Я возиться с F # и Fable, и пытаюсь проверить мое понимание. Для этого я попытался создать функцию для вычисления e с учетом определенного числа итераций. Что я придумал, так это

let eCalc n =
      let rec internalECalc ifact sum count =
          match count = n with
          | true -> sum
          | _ -> internalECalc (ifact / (float count)) (sum + ifact) (count+1)

      internalECalc 1.0 0.0 1

Который работает нормально, возвращая 2.7182818284590455 при вызове с

eCalc 20

Однако, если я попытаюсь использовать, как мне кажется, более правильную форму

let eCalc n =
      let rec internalECalc ifact sum count =
          match count with
          | n -> sum
          | _ -> internalECalc (ifact / (float count)) (sum + ifact) (count+1)

      internalECalc 1.0 0.0 1

Я получаю предупреждение «[ПРЕДУПРЕЖДЕНИЕ] Это правило никогда не будет совпадать (L5,10-L5,11)» и возвращает значение 0. (То же самое происходит, если я поменяю местами «n» и «count» в матче заявление). Есть ли причина, по которой я не могу использовать 'n' в выражении соответствия? Есть ли способ обойти это, чтобы я мог использовать 'n'?

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос