Types used in the generated code

`type 'a test_pred``= ?⁠here:Lexing.position Base.list ‑> ?⁠message:Base.string ‑> ('a ‑> Base.bool) ‑> 'a ‑> Base.unit```
`type 'a test_eq``= ?⁠here:Lexing.position Base.list ‑> ?⁠message:Base.string ‑> ?⁠equal:('a ‑> 'a ‑> Base.bool) ‑> 'a ‑> 'a ‑> Base.unit```
`type 'a test_result``= ?⁠here:Lexing.position Base.list ‑> ?⁠message:Base.string ‑> ?⁠equal:('a ‑> 'a ‑> Base.bool) ‑> expect:'a ‑> 'a ‑> Base.unit```

Functions called by the generated code

`val test_pred : pos:Base.string ‑> sexpifier:('a ‑> Base.Sexp.t) ‑> here:Lexing.position Base.list ‑> ?⁠message:Base.string ‑> ('a ‑> Base.bool) ‑> 'a ‑> Base.unit`
`val test_eq : pos:Base.string ‑> sexpifier:('a ‑> Base.Sexp.t) ‑> comparator:('a ‑> 'a ‑> Base.int) ‑> here:Lexing.position Base.list ‑> ?⁠message:Base.string ‑> ?⁠equal:('a ‑> 'a ‑> Base.bool) ‑> 'a ‑> 'a ‑> Base.unit`
`val test_result : pos:Base.string ‑> sexpifier:('a ‑> Base.Sexp.t) ‑> comparator:('a ‑> 'a ‑> Base.int) ‑> here:Lexing.position Base.list ‑> ?⁠message:Base.string ‑> ?⁠equal:('a ‑> 'a ‑> Base.bool) ‑> expect:'a ‑> got:'a ‑> Base.unit`
`val set_diff_function : (from_:Base.string ‑> to_:Base.string ‑> Base.unit) Base.option ‑> Base.unit`

Called to set/unset the `diff` function, used by `test_result`