Рекурсивные записи в F #
Мы с другом читаем о F # и в настоящее время бездельничаем с записями.
Мы сделали следующую запись для представления лица:
type Person =
{name: string;
father: Person;
mother: Person;}
F # Interactive принимает его, и в некотором смысле тип имеет смысл, за исключением того, что мы можемне вижу, как его использовать. Когда мы пытаемся объявить человека, мы должны объявить родителей в момент объявления и, в свою очередь, объявить своих родителей и так далее. Есть ли способ на самом деле использовать этот тип? А если нет, то как же мы можем его создать?
PS: Мы хорошо понимаем, что, поскольку родители предназначены быть необязательными, мы должны были инкапсулировать их с типом option (Some x | None).
РЕДАКТИРОВАТЬ
Мой вопрос не в том, как исправить вышеперечисленное, решение уже написано в PS. У меня вопрос, могу ли я на самом деле использовать вышеуказанный тип, например, объявить личную запись вышеуказанной формы? Если нет, я, должно быть, сделал непригодный тип. Почему я могу сделать такой тип?