-record(driver_contract, { connect :: fun((gdo@driver:connection_target()) -> {ok, gdo@driver:driver_connection_state()} | {error, gdo@error:error()}), close :: fun((gdo@driver:driver_connection_state()) -> {ok, nil} | {error, gdo@error:error()}), prepare :: fun((gdo@driver:driver_connection_state(), binary()) -> {ok, gdo@driver:driver_statement_state()} | {error, gdo@error:error()}), exec :: fun((gdo@driver:driver_statement_state(), list(gdo@value:param())) -> {ok, gdo@result:execution_result()} | {error, gdo@error:error()}), query_all :: fun((gdo@driver:driver_statement_state(), list(gdo@value:param())) -> {ok, gdo@result:query_result()} | {error, gdo@error:error()}), 'begin' :: fun((gdo@driver:driver_connection_state()) -> {ok, gdo@driver:driver_connection_state()} | {error, gdo@error:error()}), commit :: fun((gdo@driver:driver_connection_state()) -> {ok, gdo@driver:driver_connection_state()} | {error, gdo@error:error()}), rollback :: fun((gdo@driver:driver_connection_state()) -> {ok, gdo@driver:driver_connection_state()} | {error, gdo@error:error()}), last_insert_id :: fun((gdo@driver:driver_connection_state()) -> gleam@option:option(integer())) }).