Un utilizzo della funzione '{0}' non corrisponde a un tipo dedotto in un'altra posizione. Il tipo dedotto della funzione ...

Un utilizzo della funzione '{0}' non corrisponde a un tipo dedotto in un'altra posizione. Il tipo dedotto della funzione è
    {1}.    
Il tipo della funzione richiesto in questo punto dell'utilizzo è
    {2}    {3}
Questo errore potrebbe essere dovuto a limitazioni associate alla ricorsione generica in un insieme 'let rec' o in un gruppo di classi. Provare a specificare una firma di tipo completa per le destinazioni delle chiamate ricorsive con annotazioni di tipo per i tipi restituiti e di argomento.
Un utilizzo della funzione '{0}' non corrisponde a un tipo dedotto in un'altra posizione. Il tipo dedotto della funzione è
    {1}.    
Il tipo della funzione richiesto in questo punto dell'utilizzo è
    {2}    {3}
Questo errore potrebbe essere dovuto a limitazioni associate alla ricorsione generica in una raccolta 'let rec' o in un gruppo di classi. Provare a specificare una firma di tipo completa per le destinazioni delle chiamate ricorsive con annotazioni di tipo per i tipi restituiti e di argomento.