diff --git a/clangml-transforms/dune b/clangml-transforms/dune
index 1e7db3fbf252c80ba82f4fff62013fe7833883c9..0301488639fbcee1d33183caf6914974cf315801 100644
--- a/clangml-transforms/dune
+++ b/clangml-transforms/dune
@@ -3,4 +3,4 @@
   (public_name clangml-transforms)
   (wrapped false)
   (preprocess (staged_pps override))
-  (libraries clangml clangml.lift dolog))
+  (libraries clangml clangml.lift dolog clangml_visitors))
diff --git a/clangml-transforms/for_memcad.ml b/clangml-transforms/for_memcad.ml
index c5d3af08994df4b4d62e43c0106e3e7c9397db79..b75279242fc4188b3b289c1998d0f8129d05b080 100644
--- a/clangml-transforms/for_memcad.ml
+++ b/clangml-transforms/for_memcad.ml
@@ -87,14 +87,14 @@ let close_node ((stmt, _stmts) as node) =
 let rec name_anonymous_fields (decl : Clang.Ast.decl list) =
   match decl with
   | [] -> []
-  | { desc = RecordDecl { keyword; name = ""; fields; bases }; _} as record ::
+  | { desc = RecordDecl { keyword; name = ""; fields; bases; final }; _} as record ::
     ({ desc = Field { name; qual_type = { desc =
       Elaborated { keyword = keyword';
         named_type = { desc = Record (Ident ""); _ } as named_type}; _}
       as qual_type; bitwidth; init }; _} as field)
     :: tail when keyword = keyword' ->
     { record with
-      desc = Clang.Ast.RecordDecl { keyword; name = "anon"; fields; bases }} ::
+      desc = Clang.Ast.RecordDecl { keyword; name = "anon"; fields; bases; final }} ::
     { field with desc = Field { name;  bitwidth; init;
       qual_type = { qual_type with desc = Elaborated {
       keyword; named_type = { named_type with desc = Record (Ident "anon") }}}}} ::
diff --git a/visitors/clangml_visitors.ml b/visitors/clangml_visitors.ml
index a0d8ece65fcf8552fac7b0b2a704ff8a48870a14..ec4931465792e16a493e9be3c356a3e2f86e76a0 100644
--- a/visitors/clangml_visitors.ml
+++ b/visitors/clangml_visitors.ml
@@ -5,6 +5,8 @@
     module%import Clang__bindings = struct
       type cxcursor =
         Clang__.Clang__bindings.cxcursor [@opaque] [@@rewrite] [@@remove]
+      type cxtype =
+        Clang__.Clang__bindings.cxtype [@opaque] [@@rewrite] [@@remove]
       type cxcursorkind =
         Clang__.Clang__bindings.cxcursorkind [@opaque] [@@rewrite] [@@remove]
       type clang_ext_declkind =
@@ -61,7 +63,8 @@
      module%import Ast = struct
        type concrete_location = _
        type source_location = _
-       type 'qual_type open_decoration = _ and co
+       type 'qual_type open_decoration = _
+       type ('a, 'qual_type) open_node = _
      end]
      [@@deriving
         visitors { variety = "iter"; name = "base_iter"; polymorphic = true },