это беспорядок, в общем, интерфейсы должны захватывать тип, который будет применен с помощью обобщенных методов, чтобы еще больше усложнить ситуацию, ваша библиотека FSharpLu.Json использует встроенные SRTP, встроенный шаблон SRTP, вызов вызова метода на^ тип ограничения, так что в скомпилированном коде есть конкретный метод фиксированного типа для каждого вызова, он отличается от обычных обобщенных обобщенных символов, используемых в .net, которые разрешают тип во время выполнения.
Поскольку вы не можете встроитьинтерфейс, попробуйте добавить ограничение типа на интерфейс, который будет перехватывать тип и избегать проблемы обобщения.
type IJsonSerializer<'T> =
abstract member SerializeToString : 'T -> string
...