diff -Naur -x .gil ._trtl/_trtl/trtl.c ._trtl.2/_trtl/trtl.c
--- ._trtl/_trtl/trtl.c	2026-03-07 20:42:54.779264753 +0100
+++ ._trtl.2/_trtl/trtl.c	2026-03-07 21:22:15.424190939 +0100
@@ -5,6 +5,12 @@
 static int b = 0;
 static int p[2] ;
 
+int
+trl_p0() { return p[0];}
+
+int
+trl_p1() { return p[1];}
+
 void
 trl_pr()
 { printf("> %d,%d\n", p[0], p[1]);
@@ -64,8 +70,20 @@
 { a=0; b=0; }
 
 void
+trl_tr()
+{ if (a==0 && b==-1) { a=1; b=0; }
+  if (a==1 && b==0)  { a=0; b=1; }
+  if (a==0 && b==1)  { a=-1; b=0;}
+  if (a==-1 && b==0) { a=0; b=-1;}
+}
+
+
+void
 trl_tl()
-{ if (a==0 && b==-1) { a=-1; b=0; }
+{ if (a==0 && b==-1) { a=-1; b=0;}
+  if (a==-1 && b==0) { a=0; b=1; }
+  if (a==0 && b==1)  { a=1; b=0; }
+  if (a==1 && b==0)  { a=0; b=-1;}
 }
 
 #if 0
diff -Naur -x .gil ._trtl/_trtl/trtl.h ._trtl.2/_trtl/trtl.h
--- ._trtl/_trtl/trtl.h	2026-03-07 20:43:12.536264235 +0100
+++ ._trtl.2/_trtl/trtl.h	2026-03-07 21:22:28.266190571 +0100
@@ -2,6 +2,18 @@
 #define _TRTL_H_
 
 void
+trl_tr();
+
+void
+trl_tl();
+
+int
+trl_p0();
+
+int
+trl_p1();
+
+void
 trl_ap();
 
 void
diff -Naur -x .gil ._trtl/_trtl-ntf/Makefile ._trtl.2/_trtl-ntf/Makefile
--- ._trtl/_trtl-ntf/Makefile	2026-03-07 20:44:12.159262363 +0100
+++ ._trtl.2/_trtl-ntf/Makefile	2026-03-07 21:01:21.468230398 +0100
@@ -8,7 +8,7 @@
 trtl.cma: trtl.cmo trtl_stub.o ../_trtl/trtl.o
 	ocamlmklib -o trtl -oc trtl_stub -linkall trtl.cmo trtl_stub.o ../_trtl/trtl.o
 ../_trtl/trtl.o: ../_trtl/trtl.c
-	$(MAKE) -C _trtl
+	$(MAKE) -C ../_trtl
 clean:
 	$(RM) dlltrtl_stub.so
 	$(RM) libtrtl_stub.a
diff -Naur -x .gil ._trtl/_trtl-ntf/trtl.ml ._trtl.2/_trtl-ntf/trtl.ml
--- ._trtl/_trtl-ntf/trtl.ml	2026-03-07 20:44:30.201261792 +0100
+++ ._trtl.2/_trtl-ntf/trtl.ml	2026-03-07 21:23:21.909189195 +0100
@@ -1,2 +1,15 @@
+external trl_tr: unit -> unit = "caml_trl_tr"
+external trl_tl: unit -> unit = "caml_trl_tl"
+
+external trl_ap: unit -> unit = "caml_trl_ap"
+
+external trl_p0: unit -> int = "caml_trl_p0"
+external trl_p1: unit -> int = "caml_trl_p1"
+
+external trl_u: unit -> unit = "caml_trl_u"
+external trl_b: unit -> unit = "caml_trl_b"
+external trl_s: unit -> unit = "caml_trl_s"
+external trl_l: unit -> unit = "caml_trl_l"
+external trl_r: unit -> unit = "caml_trl_r"
 external itrl_p : unit -> unit
   = "caml_itrl_p"
diff -Naur -x .gil ._trtl/_trtl-ntf/trtl.mli ._trtl.2/_trtl-ntf/trtl.mli
--- ._trtl/_trtl-ntf/trtl.mli	2026-03-07 20:44:28.270261853 +0100
+++ ._trtl.2/_trtl-ntf/trtl.mli	2026-03-07 21:23:31.379188901 +0100
@@ -1 +1,15 @@
+val trl_tr: unit -> unit
+val trl_tl: unit -> unit
+
+val trl_ap: unit -> unit
+
+val trl_p0: unit -> int
+val trl_p1: unit -> int
+
+val trl_u: unit -> unit
+val trl_b: unit -> unit
+val trl_s: unit -> unit
+val trl_l: unit -> unit
+val trl_r: unit -> unit
+
 val itrl_p : unit -> unit
diff -Naur -x .gil ._trtl/_trtl-ntf/trtl_stub.c ._trtl.2/_trtl-ntf/trtl_stub.c
--- ._trtl/_trtl-ntf/trtl_stub.c	2026-03-07 20:44:33.507261694 +0100
+++ ._trtl.2/_trtl-ntf/trtl_stub.c	2026-03-07 21:23:01.473189829 +0100
@@ -5,6 +5,32 @@
 #include "trtl.h"
 
 CAMLprim value
+caml_trl_tr(value u) { trl_tr();  return Val_unit;}
+
+CAMLprim value
+caml_trl_tl(value u) { trl_tl();  return Val_unit;}
+
+CAMLprim value
+caml_trl_ap(value u) { trl_ap();  return Val_unit;}
+
+CAMLprim value
+caml_trl_p0(value u) { return Val_long(trl_p0());}
+
+CAMLprim value
+caml_trl_p1(value u) { return Val_long(trl_p1());}
+
+CAMLprim value
+caml_trl_u(value u) { trl_u();  return Val_unit;}
+CAMLprim value
+caml_trl_b(value u) { trl_b();  return Val_unit;}
+CAMLprim value
+caml_trl_s(value u) { trl_s();  return Val_unit;}
+CAMLprim value
+caml_trl_l(value u) { trl_l();  return Val_unit;}
+CAMLprim value
+caml_trl_r(value u) { trl_r();  return Val_unit;}
+
+CAMLprim value
 caml_itrl_p(value u)
 { itrl_p();
   return Val_unit;
diff -Naur -x .gil ._trtl/_trtl-test/_trtl-01.txt ._trtl.2/_trtl-test/_trtl-01.txt
--- ._trtl/_trtl-test/_trtl-01.txt	2026-03-07 20:34:56.219279748 +0100
+++ ._trtl.2/_trtl-test/_trtl-01.txt	2026-03-07 21:24:09.156187515 +0100
@@ -1,6 +1,6 @@
 $ \ocaml -I . trtl.cma
 OCaml version 4.14.1
-# open Trtl ;;
+# open Trtl;;
 
 # itrl_p () ;;
 - : unit = ()
diff -Naur -x .gil ._trtl/_trtl-test/_trtl-02.txt ._trtl.2/_trtl-test/_trtl-02.txt
--- ._trtl/_trtl-test/_trtl-02.txt	1970-01-01 01:00:00.000000000 +0100
+++ ._trtl.2/_trtl-test/_trtl-02.txt	2026-03-07 21:27:11.144181690 +0100
@@ -0,0 +1,24 @@
+$ \ocaml -I . trtl.cma
+OCaml version 4.14.1
+# open Trtl;;
+
+# itrl_p () ;;
+- : unit = ()
+
+# trl_p0();;
+- : int = 0
+# trl_p1();;
+- : int = 0
+
+# trl_u();;
+- : unit = ()
+
+# trl_ap();;
+- : unit = ()
+
+# (trl_p0(),
+   trl_p1());;
+- : int * int = (0, -1)
+
+#
+
