What does use with an uneven instance mean?

I can not compile the following code:

open Genotype
open Genome

type IAgent =
    abstract member CrossoverA: Genome<'T> -> unit

type internal AgentMessage<'T> = 
  | GetEnergy of AsyncReplyChannel<int>
  | CrossoverMessage of Genome<'T>
  | CompareMessage of Genome<'T>

type Agent<'T>(initialLifeEnergy : int, genotype : IGenotype<'T>) =
    let LifeEnergy = initialLifeEnergy
    let mailbox = new MailboxProcessor<AgentMessage<'T>>(fun inbox ->
        let rec loop  =
            async {  
                    let! (msg) = inbox.Receive()
                    printfn "Message received: %O" msg
                    match msg with 
                        | GetEnergy reply -> 
                              reply.Reply(LifeEnergy)
                        | CrossoverMessage genome->
                            printfn "crossover"
                        | CompareMessage fenome ->
                            printfn "compare" 
                        }
        loop )
    do
        mailbox.Start()


    member this.CrossoverA(genomeIn: Genome<'T>)  = (this :> IAgent).CrossoverA(genomeIn: Genome<'T>) 
    interface IAgent with
        member this.CrossoverA(genomeIn: Genome<'T>)  = 
            printfn "Crossover"
            mailbox.Post(CrossoverMessage genomeIn)

There member this.CrossoverA(genomeIn: Genome<'T>)is an error in the line :

Mistake 1 The common "CrossoverA" member was used for uneven instantiation to this software point. Consider reordering members so that this member appears first. Alternatively, specify the full element type explicitly, including argument types, return type, and any additional general parameters and restrictions.

Error 2 One or more explicit variables of a class or function type for this binding cannot be generalized because they were limited by other types

as well as in the line mailbox.Post(CrossoverMessage genomeIn):

Error 3 Type '' T 'does not match type' 'a'

'' a ' . , CrossoverA . , .

+4
1

, CrossoverA - . , . , . .

EDIT. arg 'T IAgent.CrossoverA, .

+3

All Articles