Rekordy rekurencyjne w F #

Przyjaciel i ja czytamy na F # i obecnie bawimy się rekordami.

Dokonaliśmy następującego zapisu reprezentującego osobę:

type Person =
  {name: string;
   father: Person;
   mother: Person;}

F # Interactive akceptuje to iw pewnym sensie typ ma sens, chyba że nie widzimy, jak go używać. Kiedy próbujemy zadeklarować osobę, musimy zadeklarować rodziców w momencie deklaracji, a następnie zadeklarować ich rodziców i tak dalej. Czy jest jakiś sposób na użycie tego typu? A jeśli nie, to w jaki sposób możemy go nawet stworzyć?

PS: Zdajemy sobie sprawę, że skoro rodzice mają być opcjonalni, powinniśmy je zamknąć w opcji (Niektóre x | Brak).

EDYTOWAĆ

Moje pytanie nie brzmi, jak naprawić powyższe, rozwiązanie jest już napisane w PS. Moje pytanie brzmi, czy mogę rzeczywiście użyć powyższego typu, np. zadeklarować rekord osoby w powyższym formularzu? Jeśli nie, musiałem zrobić bezużyteczny typ. Dlaczego mogę zrobić taki typ?

questionAnswers(2)

yourAnswerToTheQuestion