Нет, это невозможно. В частности, дженерики в F # имеют то же ограничение, что и CLR, а именно или <'a> должны иметь вид "*". Это то же самое ограничение, которое означает, что вы не можете создавать "классы типов" непосредственно в F #, например, «Monad m» будет принимать аргумент с большим родом «m» (например, «* -> *», где, например, «list» и «option» могут быть экземплярами, каждый из которых является конструктором универсального типа), но это недопустимо .