// 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_;
}

