wit-bindgen-cli 0.58.0

CLI tool to generate bindings for WIT documents and the component model.
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading.Tasks;

namespace TestWorld.wit.Exports.my.test
{
    public class IExportsImpl : IIExports
    {
        public static async Task<FutureReader<string>> Ping(FutureReader<string> future, string s)
        {
            var msg = (await future.Read()) + s;
            var (newFutureReader, newFutureWriter) = IIExports.FutureNewString();
            var writeTask = newFutureWriter.Write(msg);
            writeTask.ContinueWith(t =>
            {
                if(t.Exception != null)
                {
                    Debug.Fail("Exception in returned future write." + t.Exception);                    
                }
            });
            return newFutureReader;
        }

        public static async Task<string> Pong(FutureReader<string> future)
        {
            return await future.Read();
        }
    }
}