sig
  val create_fun0 :
    Sqlite3.db ->
    string ->
    init:'a -> step:('a -> 'a) -> final:('a -> Sqlite3.Data.t) -> unit
  val create_fun1 :
    Sqlite3.db ->
    string ->
    init:'a ->
    step:('a -> Sqlite3.Data.t -> 'a) -> final:('a -> Sqlite3.Data.t) -> unit
  val create_fun2 :
    Sqlite3.db ->
    string ->
    init:'a ->
    step:('a -> Sqlite3.Data.t -> Sqlite3.Data.t -> 'a) ->
    final:('a -> Sqlite3.Data.t) -> unit
  val create_fun3 :
    Sqlite3.db ->
    string ->
    init:'a ->
    step:('a -> Sqlite3.Data.t -> Sqlite3.Data.t -> Sqlite3.Data.t -> 'a) ->
    final:('a -> Sqlite3.Data.t) -> unit
  val create_funN :
    Sqlite3.db ->
    string ->
    init:'a ->
    step:('a -> Sqlite3.Data.t array -> 'a) ->
    final:('a -> Sqlite3.Data.t) -> unit
end