Repodb.Query_values

repodb · API reference

Type-safe heterogeneous INSERT values.

This module provides values1 through values30 functions that enable type-safe INSERT statements with compile-time verification that:

  • The number of columns matches the number of values
  • Each value's type matches its corresponding field's type
  • All fields belong to the same record type Example usage:
  open Query_values

  (* Single row insert with 4 heterogeneous columns *)
  Query.insert_into Agent_credentials.table
  |> values4
      (id, agent_id, agent_secret, enrolled_at)
      (Expr.int 1, Expr.string "abc", Expr.string "xyz", Expr.int64 123L)

  (* Multi-row insert *)
  Query.insert_into Users.table
  |> values3_multi
      (id, name, age)
      [
        (Expr.int 1, Expr.string "Alice", Expr.int 30);
        (Expr.int 2, Expr.string "Bob", Expr.int 25);
      ]
val values1 : 
  ('r, 'a) Field.t ->
  'a Expr.t ->
  ('r, Query.insert_query) Query.t ->
  ('b, 'c) Query.t
val values2 : 
  (('r, 'a) Field.t * ('r, 'b) Field.t) ->
  ('a Expr.t * 'b Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('c, 'd) Query.t
val values3 : 
  (('r, 'a) Field.t * ('r, 'b) Field.t * ('r, 'c) Field.t) ->
  ('a Expr.t * 'b Expr.t * 'c Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('d, 'e) Query.t
val values4 : 
  (('r, 'a) Field.t * ('r, 'b) Field.t * ('r, 'c) Field.t * ('r, 'd) Field.t) ->
  ('a Expr.t * 'b Expr.t * 'c Expr.t * 'd Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('e, 'f) Query.t
val values5 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t) ->
  ('a Expr.t * 'b Expr.t * 'c Expr.t * 'd Expr.t * 'e Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('f, 'g) Query.t
val values6 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t) ->
  ('a Expr.t * 'b Expr.t * 'c Expr.t * 'd Expr.t * 'e Expr.t * 'f Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('g, 'h) Query.t
val values7 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('h, 'i) Query.t
val values8 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('i, 'j) Query.t
val values9 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('j, 'k) Query.t
val values10 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('k, 'l) Query.t
val values11 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('l, 'm) Query.t
val values12 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('m, 'n) Query.t
val values13 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('n, 'o) Query.t
val values14 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('o, 'p) Query.t
val values15 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('p, 'q) Query.t
val values16 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('q, 's) Query.t
val values17 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('s, 't) Query.t
val values18 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('t, 'u) Query.t
val values19 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t
   * ('r, 't) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('u, 'v) Query.t
val values20 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t
   * ('r, 't) Field.t
   * ('r, 'u) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('v, 'w) Query.t
val values21 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t
   * ('r, 't) Field.t
   * ('r, 'u) Field.t
   * ('r, 'v) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('w, 'x) Query.t
val values22 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t
   * ('r, 't) Field.t
   * ('r, 'u) Field.t
   * ('r, 'v) Field.t
   * ('r, 'w) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('x, 'y) Query.t
val values23 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t
   * ('r, 't) Field.t
   * ('r, 'u) Field.t
   * ('r, 'v) Field.t
   * ('r, 'w) Field.t
   * ('r, 'x) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('y, 'z) Query.t
val values24 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t
   * ('r, 't) Field.t
   * ('r, 'u) Field.t
   * ('r, 'v) Field.t
   * ('r, 'w) Field.t
   * ('r, 'x) Field.t
   * ('r, 'y) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('z, 'a1) Query.t
val values25 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t
   * ('r, 't) Field.t
   * ('r, 'u) Field.t
   * ('r, 'v) Field.t
   * ('r, 'w) Field.t
   * ('r, 'x) Field.t
   * ('r, 'y) Field.t
   * ('r, 'z) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t
   * 'z Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('a1, 'b1) Query.t
val values26 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t
   * ('r, 't) Field.t
   * ('r, 'u) Field.t
   * ('r, 'v) Field.t
   * ('r, 'w) Field.t
   * ('r, 'x) Field.t
   * ('r, 'y) Field.t
   * ('r, 'z) Field.t
   * ('r, 'a1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t
   * 'z Expr.t
   * 'a1 Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('b1, 'c1) Query.t
val values27 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t
   * ('r, 't) Field.t
   * ('r, 'u) Field.t
   * ('r, 'v) Field.t
   * ('r, 'w) Field.t
   * ('r, 'x) Field.t
   * ('r, 'y) Field.t
   * ('r, 'z) Field.t
   * ('r, 'a1) Field.t
   * ('r, 'b1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t
   * 'z Expr.t
   * 'a1 Expr.t
   * 'b1 Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('c1, 'd1) Query.t
val values28 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t
   * ('r, 't) Field.t
   * ('r, 'u) Field.t
   * ('r, 'v) Field.t
   * ('r, 'w) Field.t
   * ('r, 'x) Field.t
   * ('r, 'y) Field.t
   * ('r, 'z) Field.t
   * ('r, 'a1) Field.t
   * ('r, 'b1) Field.t
   * ('r, 'c1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t
   * 'z Expr.t
   * 'a1 Expr.t
   * 'b1 Expr.t
   * 'c1 Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('d1, 'e1) Query.t
val values29 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t
   * ('r, 't) Field.t
   * ('r, 'u) Field.t
   * ('r, 'v) Field.t
   * ('r, 'w) Field.t
   * ('r, 'x) Field.t
   * ('r, 'y) Field.t
   * ('r, 'z) Field.t
   * ('r, 'a1) Field.t
   * ('r, 'b1) Field.t
   * ('r, 'c1) Field.t
   * ('r, 'd1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t
   * 'z Expr.t
   * 'a1 Expr.t
   * 'b1 Expr.t
   * 'c1 Expr.t
   * 'd1 Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('e1, 'f1) Query.t
val values30 : 
  (('r, 'a) Field.t
   * ('r, 'b) Field.t
   * ('r, 'c) Field.t
   * ('r, 'd) Field.t
   * ('r, 'e) Field.t
   * ('r, 'f) Field.t
   * ('r, 'g) Field.t
   * ('r, 'h) Field.t
   * ('r, 'i) Field.t
   * ('r, 'j) Field.t
   * ('r, 'k) Field.t
   * ('r, 'l) Field.t
   * ('r, 'm) Field.t
   * ('r, 'n) Field.t
   * ('r, 'o) Field.t
   * ('r, 'p) Field.t
   * ('r, 'q) Field.t
   * ('r, 's) Field.t
   * ('r, 't) Field.t
   * ('r, 'u) Field.t
   * ('r, 'v) Field.t
   * ('r, 'w) Field.t
   * ('r, 'x) Field.t
   * ('r, 'y) Field.t
   * ('r, 'z) Field.t
   * ('r, 'a1) Field.t
   * ('r, 'b1) Field.t
   * ('r, 'c1) Field.t
   * ('r, 'd1) Field.t
   * ('r, 'e1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t
   * 'z Expr.t
   * 'a1 Expr.t
   * 'b1 Expr.t
   * 'c1 Expr.t
   * 'd1 Expr.t
   * 'e1 Expr.t) ->
  ('r, Query.insert_query) Query.t ->
  ('f1, 'g1) Query.t
val values1_multi : 
  ('b, 'c) Field.t ->
  'a Expr.t list ->
  ('r, Query.insert_query) Query.t ->
  ('d, 'e) Query.t
val values2_multi : 
  (('c, 'd) Field.t * ('e, 'f) Field.t) ->
  ('a Expr.t * 'b Expr.t) list ->
  ('r, Query.insert_query) Query.t ->
  ('g, 'h) Query.t
val values3_multi : 
  (('d, 'e) Field.t * ('f, 'g) Field.t * ('h, 'i) Field.t) ->
  ('a Expr.t * 'b Expr.t * 'c Expr.t) list ->
  ('r, Query.insert_query) Query.t ->
  ('j, 'k) Query.t
val values4_multi : 
  (('e, 'f) Field.t * ('g, 'h) Field.t * ('i, 'j) Field.t * ('k, 'l) Field.t) ->
  ('a Expr.t * 'b Expr.t * 'c Expr.t * 'd Expr.t) list ->
  ('r, Query.insert_query) Query.t ->
  ('m, 'n) Query.t
val values5_multi : 
  (('f, 'g) Field.t
   * ('h, 'i) Field.t
   * ('j, 'k) Field.t
   * ('l, 'm) Field.t
   * ('n, 'o) Field.t) ->
  ('a Expr.t * 'b Expr.t * 'c Expr.t * 'd Expr.t * 'e Expr.t) list ->
  ('r, Query.insert_query) Query.t ->
  ('p, 'q) Query.t
val values6_multi : 
  (('g, 'h) Field.t
   * ('i, 'j) Field.t
   * ('k, 'l) Field.t
   * ('m, 'n) Field.t
   * ('o, 'p) Field.t
   * ('q, 's) Field.t) ->
  ('a Expr.t * 'b Expr.t * 'c Expr.t * 'd Expr.t * 'e Expr.t * 'f Expr.t) list ->
  ('r, Query.insert_query) Query.t ->
  ('t, 'u) Query.t
val values7_multi : 
  (('h, 'i) Field.t
   * ('j, 'k) Field.t
   * ('l, 'm) Field.t
   * ('n, 'o) Field.t
   * ('p, 'q) Field.t
   * ('s, 't) Field.t
   * ('u, 'v) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('w, 'x) Query.t
val values8_multi : 
  (('i, 'j) Field.t
   * ('k, 'l) Field.t
   * ('m, 'n) Field.t
   * ('o, 'p) Field.t
   * ('q, 's) Field.t
   * ('t, 'u) Field.t
   * ('v, 'w) Field.t
   * ('x, 'y) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('z, 'a1) Query.t
val values9_multi : 
  (('j, 'k) Field.t
   * ('l, 'm) Field.t
   * ('n, 'o) Field.t
   * ('p, 'q) Field.t
   * ('s, 't) Field.t
   * ('u, 'v) Field.t
   * ('w, 'x) Field.t
   * ('y, 'z) Field.t
   * ('a1, 'b1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('c1, 'd1) Query.t
val values10_multi : 
  (('k, 'l) Field.t
   * ('m, 'n) Field.t
   * ('o, 'p) Field.t
   * ('q, 's) Field.t
   * ('t, 'u) Field.t
   * ('v, 'w) Field.t
   * ('x, 'y) Field.t
   * ('z, 'a1) Field.t
   * ('b1, 'c1) Field.t
   * ('d1, 'e1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('f1, 'g1) Query.t
val values11_multi : 
  (('l, 'm) Field.t
   * ('n, 'o) Field.t
   * ('p, 'q) Field.t
   * ('s, 't) Field.t
   * ('u, 'v) Field.t
   * ('w, 'x) Field.t
   * ('y, 'z) Field.t
   * ('a1, 'b1) Field.t
   * ('c1, 'd1) Field.t
   * ('e1, 'f1) Field.t
   * ('g1, 'h1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('i1, 'j1) Query.t
val values12_multi : 
  (('m, 'n) Field.t
   * ('o, 'p) Field.t
   * ('q, 's) Field.t
   * ('t, 'u) Field.t
   * ('v, 'w) Field.t
   * ('x, 'y) Field.t
   * ('z, 'a1) Field.t
   * ('b1, 'c1) Field.t
   * ('d1, 'e1) Field.t
   * ('f1, 'g1) Field.t
   * ('h1, 'i1) Field.t
   * ('j1, 'k1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('l1, 'm1) Query.t
val values13_multi : 
  (('n, 'o) Field.t
   * ('p, 'q) Field.t
   * ('s, 't) Field.t
   * ('u, 'v) Field.t
   * ('w, 'x) Field.t
   * ('y, 'z) Field.t
   * ('a1, 'b1) Field.t
   * ('c1, 'd1) Field.t
   * ('e1, 'f1) Field.t
   * ('g1, 'h1) Field.t
   * ('i1, 'j1) Field.t
   * ('k1, 'l1) Field.t
   * ('m1, 'n1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('o1, 'p1) Query.t
val values14_multi : 
  (('o, 'p) Field.t
   * ('q, 's) Field.t
   * ('t, 'u) Field.t
   * ('v, 'w) Field.t
   * ('x, 'y) Field.t
   * ('z, 'a1) Field.t
   * ('b1, 'c1) Field.t
   * ('d1, 'e1) Field.t
   * ('f1, 'g1) Field.t
   * ('h1, 'i1) Field.t
   * ('j1, 'k1) Field.t
   * ('l1, 'm1) Field.t
   * ('n1, 'o1) Field.t
   * ('p1, 'q1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('r1, 's1) Query.t
val values15_multi : 
  (('p, 'q) Field.t
   * ('s, 't) Field.t
   * ('u, 'v) Field.t
   * ('w, 'x) Field.t
   * ('y, 'z) Field.t
   * ('a1, 'b1) Field.t
   * ('c1, 'd1) Field.t
   * ('e1, 'f1) Field.t
   * ('g1, 'h1) Field.t
   * ('i1, 'j1) Field.t
   * ('k1, 'l1) Field.t
   * ('m1, 'n1) Field.t
   * ('o1, 'p1) Field.t
   * ('q1, 'r1) Field.t
   * ('s1, 't1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('u1, 'v1) Query.t
val values16_multi : 
  (('q, 's) Field.t
   * ('t, 'u) Field.t
   * ('v, 'w) Field.t
   * ('x, 'y) Field.t
   * ('z, 'a1) Field.t
   * ('b1, 'c1) Field.t
   * ('d1, 'e1) Field.t
   * ('f1, 'g1) Field.t
   * ('h1, 'i1) Field.t
   * ('j1, 'k1) Field.t
   * ('l1, 'm1) Field.t
   * ('n1, 'o1) Field.t
   * ('p1, 'q1) Field.t
   * ('r1, 's1) Field.t
   * ('t1, 'u1) Field.t
   * ('v1, 'w1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('x1, 'y1) Query.t
val values17_multi : 
  (('s, 't) Field.t
   * ('u, 'v) Field.t
   * ('w, 'x) Field.t
   * ('y, 'z) Field.t
   * ('a1, 'b1) Field.t
   * ('c1, 'd1) Field.t
   * ('e1, 'f1) Field.t
   * ('g1, 'h1) Field.t
   * ('i1, 'j1) Field.t
   * ('k1, 'l1) Field.t
   * ('m1, 'n1) Field.t
   * ('o1, 'p1) Field.t
   * ('q1, 'r1) Field.t
   * ('s1, 't1) Field.t
   * ('u1, 'v1) Field.t
   * ('w1, 'x1) Field.t
   * ('y1, 'z1) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('a2, 'b2) Query.t
val values18_multi : 
  (('t, 'u) Field.t
   * ('v, 'w) Field.t
   * ('x, 'y) Field.t
   * ('z, 'a1) Field.t
   * ('b1, 'c1) Field.t
   * ('d1, 'e1) Field.t
   * ('f1, 'g1) Field.t
   * ('h1, 'i1) Field.t
   * ('j1, 'k1) Field.t
   * ('l1, 'm1) Field.t
   * ('n1, 'o1) Field.t
   * ('p1, 'q1) Field.t
   * ('r1, 's1) Field.t
   * ('t1, 'u1) Field.t
   * ('v1, 'w1) Field.t
   * ('x1, 'y1) Field.t
   * ('z1, 'a2) Field.t
   * ('b2, 'c2) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('d2, 'e2) Query.t
val values19_multi : 
  (('u, 'v) Field.t
   * ('w, 'x) Field.t
   * ('y, 'z) Field.t
   * ('a1, 'b1) Field.t
   * ('c1, 'd1) Field.t
   * ('e1, 'f1) Field.t
   * ('g1, 'h1) Field.t
   * ('i1, 'j1) Field.t
   * ('k1, 'l1) Field.t
   * ('m1, 'n1) Field.t
   * ('o1, 'p1) Field.t
   * ('q1, 'r1) Field.t
   * ('s1, 't1) Field.t
   * ('u1, 'v1) Field.t
   * ('w1, 'x1) Field.t
   * ('y1, 'z1) Field.t
   * ('a2, 'b2) Field.t
   * ('c2, 'd2) Field.t
   * ('e2, 'f2) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('g2, 'h2) Query.t
val values20_multi : 
  (('v, 'w) Field.t
   * ('x, 'y) Field.t
   * ('z, 'a1) Field.t
   * ('b1, 'c1) Field.t
   * ('d1, 'e1) Field.t
   * ('f1, 'g1) Field.t
   * ('h1, 'i1) Field.t
   * ('j1, 'k1) Field.t
   * ('l1, 'm1) Field.t
   * ('n1, 'o1) Field.t
   * ('p1, 'q1) Field.t
   * ('r1, 's1) Field.t
   * ('t1, 'u1) Field.t
   * ('v1, 'w1) Field.t
   * ('x1, 'y1) Field.t
   * ('z1, 'a2) Field.t
   * ('b2, 'c2) Field.t
   * ('d2, 'e2) Field.t
   * ('f2, 'g2) Field.t
   * ('h2, 'i2) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('j2, 'k2) Query.t
val values21_multi : 
  (('w, 'x) Field.t
   * ('y, 'z) Field.t
   * ('a1, 'b1) Field.t
   * ('c1, 'd1) Field.t
   * ('e1, 'f1) Field.t
   * ('g1, 'h1) Field.t
   * ('i1, 'j1) Field.t
   * ('k1, 'l1) Field.t
   * ('m1, 'n1) Field.t
   * ('o1, 'p1) Field.t
   * ('q1, 'r1) Field.t
   * ('s1, 't1) Field.t
   * ('u1, 'v1) Field.t
   * ('w1, 'x1) Field.t
   * ('y1, 'z1) Field.t
   * ('a2, 'b2) Field.t
   * ('c2, 'd2) Field.t
   * ('e2, 'f2) Field.t
   * ('g2, 'h2) Field.t
   * ('i2, 'j2) Field.t
   * ('k2, 'l2) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('m2, 'n2) Query.t
val values22_multi : 
  (('x, 'y) Field.t
   * ('z, 'a1) Field.t
   * ('b1, 'c1) Field.t
   * ('d1, 'e1) Field.t
   * ('f1, 'g1) Field.t
   * ('h1, 'i1) Field.t
   * ('j1, 'k1) Field.t
   * ('l1, 'm1) Field.t
   * ('n1, 'o1) Field.t
   * ('p1, 'q1) Field.t
   * ('r1, 's1) Field.t
   * ('t1, 'u1) Field.t
   * ('v1, 'w1) Field.t
   * ('x1, 'y1) Field.t
   * ('z1, 'a2) Field.t
   * ('b2, 'c2) Field.t
   * ('d2, 'e2) Field.t
   * ('f2, 'g2) Field.t
   * ('h2, 'i2) Field.t
   * ('j2, 'k2) Field.t
   * ('l2, 'm2) Field.t
   * ('n2, 'o2) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('p2, 'q2) Query.t
val values23_multi : 
  (('y, 'z) Field.t
   * ('a1, 'b1) Field.t
   * ('c1, 'd1) Field.t
   * ('e1, 'f1) Field.t
   * ('g1, 'h1) Field.t
   * ('i1, 'j1) Field.t
   * ('k1, 'l1) Field.t
   * ('m1, 'n1) Field.t
   * ('o1, 'p1) Field.t
   * ('q1, 'r1) Field.t
   * ('s1, 't1) Field.t
   * ('u1, 'v1) Field.t
   * ('w1, 'x1) Field.t
   * ('y1, 'z1) Field.t
   * ('a2, 'b2) Field.t
   * ('c2, 'd2) Field.t
   * ('e2, 'f2) Field.t
   * ('g2, 'h2) Field.t
   * ('i2, 'j2) Field.t
   * ('k2, 'l2) Field.t
   * ('m2, 'n2) Field.t
   * ('o2, 'p2) Field.t
   * ('q2, 'r2) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('s2, 't2) Query.t
val values24_multi : 
  (('z, 'a1) Field.t
   * ('b1, 'c1) Field.t
   * ('d1, 'e1) Field.t
   * ('f1, 'g1) Field.t
   * ('h1, 'i1) Field.t
   * ('j1, 'k1) Field.t
   * ('l1, 'm1) Field.t
   * ('n1, 'o1) Field.t
   * ('p1, 'q1) Field.t
   * ('r1, 's1) Field.t
   * ('t1, 'u1) Field.t
   * ('v1, 'w1) Field.t
   * ('x1, 'y1) Field.t
   * ('z1, 'a2) Field.t
   * ('b2, 'c2) Field.t
   * ('d2, 'e2) Field.t
   * ('f2, 'g2) Field.t
   * ('h2, 'i2) Field.t
   * ('j2, 'k2) Field.t
   * ('l2, 'm2) Field.t
   * ('n2, 'o2) Field.t
   * ('p2, 'q2) Field.t
   * ('r2, 's2) Field.t
   * ('t2, 'u2) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('v2, 'w2) Query.t
val values25_multi : 
  (('a1, 'b1) Field.t
   * ('c1, 'd1) Field.t
   * ('e1, 'f1) Field.t
   * ('g1, 'h1) Field.t
   * ('i1, 'j1) Field.t
   * ('k1, 'l1) Field.t
   * ('m1, 'n1) Field.t
   * ('o1, 'p1) Field.t
   * ('q1, 'r1) Field.t
   * ('s1, 't1) Field.t
   * ('u1, 'v1) Field.t
   * ('w1, 'x1) Field.t
   * ('y1, 'z1) Field.t
   * ('a2, 'b2) Field.t
   * ('c2, 'd2) Field.t
   * ('e2, 'f2) Field.t
   * ('g2, 'h2) Field.t
   * ('i2, 'j2) Field.t
   * ('k2, 'l2) Field.t
   * ('m2, 'n2) Field.t
   * ('o2, 'p2) Field.t
   * ('q2, 'r2) Field.t
   * ('s2, 't2) Field.t
   * ('u2, 'v2) Field.t
   * ('w2, 'x2) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t
   * 'z Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('y2, 'z2) Query.t
val values26_multi : 
  (('b1, 'c1) Field.t
   * ('d1, 'e1) Field.t
   * ('f1, 'g1) Field.t
   * ('h1, 'i1) Field.t
   * ('j1, 'k1) Field.t
   * ('l1, 'm1) Field.t
   * ('n1, 'o1) Field.t
   * ('p1, 'q1) Field.t
   * ('r1, 's1) Field.t
   * ('t1, 'u1) Field.t
   * ('v1, 'w1) Field.t
   * ('x1, 'y1) Field.t
   * ('z1, 'a2) Field.t
   * ('b2, 'c2) Field.t
   * ('d2, 'e2) Field.t
   * ('f2, 'g2) Field.t
   * ('h2, 'i2) Field.t
   * ('j2, 'k2) Field.t
   * ('l2, 'm2) Field.t
   * ('n2, 'o2) Field.t
   * ('p2, 'q2) Field.t
   * ('r2, 's2) Field.t
   * ('t2, 'u2) Field.t
   * ('v2, 'w2) Field.t
   * ('x2, 'y2) Field.t
   * ('z2, 'a3) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t
   * 'z Expr.t
   * 'a1 Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('b3, 'c3) Query.t
val values27_multi : 
  (('c1, 'd1) Field.t
   * ('e1, 'f1) Field.t
   * ('g1, 'h1) Field.t
   * ('i1, 'j1) Field.t
   * ('k1, 'l1) Field.t
   * ('m1, 'n1) Field.t
   * ('o1, 'p1) Field.t
   * ('q1, 'r1) Field.t
   * ('s1, 't1) Field.t
   * ('u1, 'v1) Field.t
   * ('w1, 'x1) Field.t
   * ('y1, 'z1) Field.t
   * ('a2, 'b2) Field.t
   * ('c2, 'd2) Field.t
   * ('e2, 'f2) Field.t
   * ('g2, 'h2) Field.t
   * ('i2, 'j2) Field.t
   * ('k2, 'l2) Field.t
   * ('m2, 'n2) Field.t
   * ('o2, 'p2) Field.t
   * ('q2, 'r2) Field.t
   * ('s2, 't2) Field.t
   * ('u2, 'v2) Field.t
   * ('w2, 'x2) Field.t
   * ('y2, 'z2) Field.t
   * ('a3, 'b3) Field.t
   * ('c3, 'd3) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t
   * 'z Expr.t
   * 'a1 Expr.t
   * 'b1 Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('e3, 'f3) Query.t
val values28_multi : 
  (('d1, 'e1) Field.t
   * ('f1, 'g1) Field.t
   * ('h1, 'i1) Field.t
   * ('j1, 'k1) Field.t
   * ('l1, 'm1) Field.t
   * ('n1, 'o1) Field.t
   * ('p1, 'q1) Field.t
   * ('r1, 's1) Field.t
   * ('t1, 'u1) Field.t
   * ('v1, 'w1) Field.t
   * ('x1, 'y1) Field.t
   * ('z1, 'a2) Field.t
   * ('b2, 'c2) Field.t
   * ('d2, 'e2) Field.t
   * ('f2, 'g2) Field.t
   * ('h2, 'i2) Field.t
   * ('j2, 'k2) Field.t
   * ('l2, 'm2) Field.t
   * ('n2, 'o2) Field.t
   * ('p2, 'q2) Field.t
   * ('r2, 's2) Field.t
   * ('t2, 'u2) Field.t
   * ('v2, 'w2) Field.t
   * ('x2, 'y2) Field.t
   * ('z2, 'a3) Field.t
   * ('b3, 'c3) Field.t
   * ('d3, 'e3) Field.t
   * ('f3, 'g3) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t
   * 'z Expr.t
   * 'a1 Expr.t
   * 'b1 Expr.t
   * 'c1 Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('h3, 'i3) Query.t
val values29_multi : 
  (('e1, 'f1) Field.t
   * ('g1, 'h1) Field.t
   * ('i1, 'j1) Field.t
   * ('k1, 'l1) Field.t
   * ('m1, 'n1) Field.t
   * ('o1, 'p1) Field.t
   * ('q1, 'r1) Field.t
   * ('s1, 't1) Field.t
   * ('u1, 'v1) Field.t
   * ('w1, 'x1) Field.t
   * ('y1, 'z1) Field.t
   * ('a2, 'b2) Field.t
   * ('c2, 'd2) Field.t
   * ('e2, 'f2) Field.t
   * ('g2, 'h2) Field.t
   * ('i2, 'j2) Field.t
   * ('k2, 'l2) Field.t
   * ('m2, 'n2) Field.t
   * ('o2, 'p2) Field.t
   * ('q2, 'r2) Field.t
   * ('s2, 't2) Field.t
   * ('u2, 'v2) Field.t
   * ('w2, 'x2) Field.t
   * ('y2, 'z2) Field.t
   * ('a3, 'b3) Field.t
   * ('c3, 'd3) Field.t
   * ('e3, 'f3) Field.t
   * ('g3, 'h3) Field.t
   * ('i3, 'j3) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t
   * 'z Expr.t
   * 'a1 Expr.t
   * 'b1 Expr.t
   * 'c1 Expr.t
   * 'd1 Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('k3, 'l3) Query.t
val values30_multi : 
  (('f1, 'g1) Field.t
   * ('h1, 'i1) Field.t
   * ('j1, 'k1) Field.t
   * ('l1, 'm1) Field.t
   * ('n1, 'o1) Field.t
   * ('p1, 'q1) Field.t
   * ('r1, 's1) Field.t
   * ('t1, 'u1) Field.t
   * ('v1, 'w1) Field.t
   * ('x1, 'y1) Field.t
   * ('z1, 'a2) Field.t
   * ('b2, 'c2) Field.t
   * ('d2, 'e2) Field.t
   * ('f2, 'g2) Field.t
   * ('h2, 'i2) Field.t
   * ('j2, 'k2) Field.t
   * ('l2, 'm2) Field.t
   * ('n2, 'o2) Field.t
   * ('p2, 'q2) Field.t
   * ('r2, 's2) Field.t
   * ('t2, 'u2) Field.t
   * ('v2, 'w2) Field.t
   * ('x2, 'y2) Field.t
   * ('z2, 'a3) Field.t
   * ('b3, 'c3) Field.t
   * ('d3, 'e3) Field.t
   * ('f3, 'g3) Field.t
   * ('h3, 'i3) Field.t
   * ('j3, 'k3) Field.t
   * ('l3, 'm3) Field.t) ->
  ('a Expr.t
   * 'b Expr.t
   * 'c Expr.t
   * 'd Expr.t
   * 'e Expr.t
   * 'f Expr.t
   * 'g Expr.t
   * 'h Expr.t
   * 'i Expr.t
   * 'j Expr.t
   * 'k Expr.t
   * 'l Expr.t
   * 'm Expr.t
   * 'n Expr.t
   * 'o Expr.t
   * 'p Expr.t
   * 'q Expr.t
   * 's Expr.t
   * 't Expr.t
   * 'u Expr.t
   * 'v Expr.t
   * 'w Expr.t
   * 'x Expr.t
   * 'y Expr.t
   * 'z Expr.t
   * 'a1 Expr.t
   * 'b1 Expr.t
   * 'c1 Expr.t
   * 'd1 Expr.t
   * 'e1 Expr.t)
    list ->
  ('r, Query.insert_query) Query.t ->
  ('n3, 'o3) Query.t