

#include "BUILTIN.h"
extern OBJ __AVoid_2;
extern OBJ _ACom_24(OBJ);extern OBJ __ACom_24;
extern OBJ _ACom_47(OBJ,OBJ);extern OBJ __ACom_47;

#include "Nat.h"
extern OBJ __ASeq_6;
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;
OBJ __AComAction_1; /* done */
extern OBJ _AComAction_2(OBJ);OBJ __AComAction_2; /* forever */
extern OBJ _AComAction_3(OBJ,OBJ);OBJ __AComAction_3; /* -!-> */
extern OBJ _AComAction_4(OBJ,OBJ);OBJ __AComAction_4; /* -?-> */
extern OBJ _AComAction_5(OBJ,OBJ);OBJ __AComAction_5; /* forever'5 */

extern OBJ _AComAction_2(OBJ x1) /* forever */
{OBJ r;
 CPCLS(__AComAction_5,1);
 CPPRD(x1,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AComAction_5,1))(__AComAction_5,x1);
  r=_AComCompose_5(x1,x2);}
 return r;}

extern OBJ _AComAction_3(OBJ x1,OBJ x2) /* -!-> */
{OBJ r;
 if(ISTGPRM(x1,1)){
  {OBJ x3;
   x3=(*(OBJ(*)(OBJ,OBJ))METHOD(x2,1))(x2,__ABUILTIN_20);
   r=_ACom_24(x3);}
 }else{
  FRCLS(x2,1);
  CPPRD(__AComAction_1,1);
  r=__AComAction_1;}
 return r;}

extern OBJ _AComAction_4(OBJ x1,OBJ x2) /* -?-> */
{OBJ r;
 if(ISTGPRM(x1,1)){
  r=(*(OBJ(*)(OBJ,OBJ))METHOD(x2,1))(x2,__ABUILTIN_20);
 }else{
  FRCLS(x2,1);
  CPPRD(__AComAction_1,1);
  r=__AComAction_1;}
 return r;}

extern OBJ _AComAction_5(OBJ x1,OBJ x2) /* forever'5 */
{OBJ r;
 r=_AComAction_2(x1);
 return r;}

static void ___AComAction_1()
{
 CPCLS(__ACom_47,1);
 {OBJ x1;OBJ x2;
  PRDF(1,0,x1);FLD(x1,1)=__AVoid_2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x1);
  PRD(2,0,__AComAction_1);FLD(__AComAction_1,1)=x2;FLD(__AComAction_1,2)=__ASeq_6;}}

init_AComAction()
{
 static int visited=0; if(visited) return; visited=1;
 init_AVoid();
 init_ACom();
 init_ANat();
 init_ASeq();
 init_AOption();
 init_AComCompose();
 init_ASeqMap();
 CLS(2,_AComAction_5,__AComAction_5);
 CLS(2,_AComAction_4,__AComAction_4);
 CLS(2,_AComAction_3,__AComAction_3);
 CLS(1,_AComAction_2,__AComAction_2);
 ___AComAction_1();}

