Статически разрешенные параметры типа

Следующий (упрощенный) фрагмент взят из приложения, которое я реализую, которое последовательно использует параметры типа, разрешенные статически.

type A< ^B when ^B : (static member MyMember : Unit -> Unit)> = {
  Field : unit
}
type TestA = {
  AField : A< BTy >
}
and BTy = {
  BField : Unit
} with
  static member MyMember () = ()

IntelliSense выдает мне следующую ошибку при определении типа поля AField (AField : A< BTy >) который:Тип «BTy» не поддерживает никаких операторов с именем «MyMember».

Редакция. Объявление их отдельно работает, но если у меня есть взаимная ссылка, и яне можешь объявите третий тип для размещения сверху, который содержит общую информацию двух типов. Что я должен сделать, чтобы избежать этой проблемы? Во всяком случае, если я определю ниже определенияlet pluto = ("" :> obj) :?> A< BTy > это работает, я думаю, потому что оба типа видимы из привязки let.

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

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