* rec3.ref *$STRATEGY Applicative; RecNumber { e.1 = <Rec ( ) e.1>; } Rec { (e.1) = e.1; (e.1) e.3 (e.2) = <Rec1 (e.2) <Rec ((e.2) e.1) e.3> >; } Rec1 { ( ) = ; ( ) ('1' e.2) e.3 = (e.2) <Rec1a e.3>; ('1' e.1) ( ) e.3 = <Rec1 (e.1) e.3>; ('1' e.1) ('1' e.2) (e.a) e.3 = (e.2) <Rec1b (e.1) (e.3) e.a>; } Rec1a { = ; ('1' e.2) e.3 = (e.2) <Rec1a e.3>; } Rec1b { (e.1) (e.3) = <Rec1 (e.1) e.3>; (e.1) ((e.a) e.3) '1' e.2 = (e.2) <Rec1b (e.1) (e.3) e.a>; }