module tutorial.engines.template_minimum_messages;

import prelude open;

type ExampleRequest :=
  mkExampleRequest@{
    argOne : Nat;
    argTwo : Nat;
  };

type ReplyPayload :=
  mkReplyPayload@{
    payload : String;
  };

type ReplyError :=
  mkReplyError@{
    error : String;
  };

ExampleReply : Type := Result ReplyError ReplyPayload;

type TemplateMinimumMsg :=
  | TemplateMinimumMsgJustHi
  | TemplateMinimumMsgExampleRequest ExampleRequest
  | TemplateMinimumMsgExampleReply ExampleReply;