module tutorial.engines.template_messages;

import prelude open;

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

type ExampleReplyOk :=
  mkExampleReplyOk@{
    argOne : Nat;
  };

type ExampleReplyError :=
  | ExampleErrorOne
  | ExampleErrorTwo;

ExampleReply : Type := Result ExampleReplyError ExampleReplyOk;

type TemplateMsg :=
  | TemplateMsgJustHi
  | TemplateMsgExampleRequest ExampleRequest
  | TemplateMsgExampleReply ExampleReply;