
import STDLIB/default-instruction-set.lm;
import STDLIB/default-primitives.lm;
import STDLIB/default-stdlib.lm;
import STDLIB/default-rules.lm;

type L (L( U64 ));
type R (R( L , L ));

main := (
   (let r (R( (L( 1_u64 )) (L( 2_u64 )) )) )
   (print (.0 r) )
   (print (.0 (.1 r)) )
   (print (.1 (.1 r)) )
   (print (.0 (.2 r)) )
   (print (.1 (.2 r)) )
);
