# Module Pa_type_conv.Rewrite_tds

    module Rewrite_tds: sig .. end

    val sig_ : Camlp4.PreCast.Ast.Loc.t ->
           bool -> Camlp4.PreCast.Ast.ctyp -> Camlp4.PreCast.Ast.sig_item

`sig_ loc rec_ typedefs` rewrites the given type definition to make it either recursive or non recursive. For instance, the parser calls `sig_ loc false (TyDcl (_, t, [], t, []))` when it encouters `type t = t` and calls `sig_ loc true (TyDcl (_, t, [], t, []))` when it encouters `type nonrec t = t` in signatures.

    val str_ : Camlp4.PreCast.Ast.Loc.t ->
           bool -> Camlp4.PreCast.Ast.ctyp -> Camlp4.PreCast.Ast.str_item

`str_ loc rec_ typedefs` does the same thing as `sig_ loc rec_ typedefs`, except that it returns a structure item instead of a signature item.