Рекурсивные записи в F #

Мы с другом читаем о F # и в настоящее время бездельничаем с записями.

Мы сделали следующую запись для представления лица:

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

F # Interactive принимает его, и в некотором смысле тип имеет смысл, за исключением того, что мы можемне вижу, как его использовать. Когда мы пытаемся объявить человека, мы должны объявить родителей в момент объявления и, в свою очередь, объявить своих родителей и так далее. Есть ли способ на самом деле использовать этот тип? А если нет, то как же мы можем его создать?

PS: Мы хорошо понимаем, что, поскольку родители предназначены быть необязательными, мы должны были инкапсулировать их с типом option (Some x | None).

РЕДАКТИРОВАТЬ

Мой вопрос не в том, как исправить вышеперечисленное, решение уже написано в PS. У меня вопрос, могу ли я на самом деле использовать вышеуказанный тип, например, объявить личную запись вышеуказанной формы? Если нет, я, должно быть, сделал непригодный тип. Почему я могу сделать такой тип?

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

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