Module that provides utility functions for translating different types of loops.

`type loop_kind````=`

`|` `For of` `{`
`init : InferGenerated.Clang_ast_t.stmt;`
`decl_stmt : InferGenerated.Clang_ast_t.stmt;`
`condition : InferGenerated.Clang_ast_t.stmt;`
`increment : InferGenerated.Clang_ast_t.stmt;`
`body : InferGenerated.Clang_ast_t.stmt;`
`}```
`|` `While of` `{`
`decl_stmt : InferGenerated.Clang_ast_t.stmt;`
`condition : InferGenerated.Clang_ast_t.stmt;`
`body : InferGenerated.Clang_ast_t.stmt;`
`}```
`|` `DoWhile of` `{`
`condition : InferGenerated.Clang_ast_t.stmt;`
`body : InferGenerated.Clang_ast_t.stmt;`
`}```

``
`val get_cond : loop_kind ‑> InferGenerated.Clang_ast_t.stmt`
`val get_body : loop_kind ‑> InferGenerated.Clang_ast_t.stmt`