Хорошо, как только это назвали MUMPS, но теперь его названный InterSystems CachГ© http://www.intersystems.com/cache/
Вы проверяли функцию Async.BuildPrimitive
? Я думаю, вы можете сделать что-то вроде:
type TcpListener with
member x.AsyncAcceptClient() =
Async.BuildPrimitive(x.BeginAcceptTcpClient, x.EndAcceptTcpClient)
, чтобы создать метод расширения, возвращающий соответствующий асинхронный результат.