// Objective-C API for talking to try Go package.
//   gobind -lang=objc try
//
// File is generated by gobind. Do not edit.

#include "GoTry.h"
#include <Foundation/Foundation.h>
#include "seq.h"

static NSString* errDomain = @"go.try";

@protocol goSeqRefInterface
-(GoSeqRef*) ref;
@end

#define _DESCRIPTOR_ "try"

#define _CALL_This_ 1

NSString* GoTryThis() {
	GoSeq in_ = {};
	GoSeq out_ = {};
	go_seq_send(_DESCRIPTOR_, _CALL_This_, &in_, &out_);
	NSString* ret0_ = go_seq_readUTF8(&out_);
	go_seq_free(&in_);
	go_seq_free(&out_);
	return ret0_;
}

