Ogólna adnotacja typu w F #

Dostałem następujący błąd:

Błąd 2 Ograniczenie wartości. Wartość'gbmLikelihood' wywnioskowano, że ma typ ogólnyval gbmLikelihood : (float -> '_a -> float [] -> float) when '_a :> seq<float> Albo przytaczaj argumenty'gbmLikelihood' jawnie lub, jeśli nie chcesz, aby była ogólna, dodaj adnotację typu.

a ten typ jest dokładnie tym, czego chcę. Co muszę zrobić, aby to działało i dlaczego nie działa bez interwencji?

EDYTOWAĆ:
Błąd pochodzi z tego pliku (jego krótki, więc wklejam całą partię):

module Likelihood
open System

let likelihood getDrift getVol dt data parameters =
    let m = getDrift data parameters
    let s =  getVol data parameters
    let N = float (Seq.length data)
    let sqrt_dt = Math.Sqrt dt
    let constant = -0.5*Math.Log(2.0*Math.PI*dt)*N
    let normalizedResidue observation = (observation - (m - 0.5*s*s)*dt)/(s*sqrt_dt) 
    let residueSquared observation = 
        let r = normalizedResidue observation in r*r
    let logStdDev = Math.Log s
    constant - logStdDev*N - 0.5* (data |> Seq.sumBy residueSquared) 

let gbmLikelihood = likelihood (fun data p -> Array.get p 0) (fun datac p -> Array.get p 1)

questionAnswers(2)

yourAnswerToTheQuestion