pub fn nested_solve(
solver: solver_context.SolverContext,
clauses: List(ast.BodyClause),
contexts: List(dict.Dict(String, fact.Value)),
solve: fn(
state.DbState,
ast.BodyClause,
dict.Dict(String, fact.Value),
List(ast.Rule),
option.Option(Int),
option.Option(Int),
) -> #(
List(dict.Dict(String, fact.Value)),
option.Option(dict.Dict(String, List(internal.StorageChunk))),
),
) -> #(
List(dict.Dict(String, fact.Value)),
option.Option(dict.Dict(String, List(internal.StorageChunk))),
)
pub fn solve_clauses(
solver: solver_context.SolverContext,
clauses: List(ast.BodyClause),
contexts: List(dict.Dict(String, fact.Value)),
initial_store: option.Option(
dict.Dict(String, List(internal.StorageChunk)),
),
solve: fn(
state.DbState,
ast.BodyClause,
dict.Dict(String, fact.Value),
List(ast.Rule),
option.Option(Int),
option.Option(Int),
) -> #(
List(dict.Dict(String, fact.Value)),
option.Option(dict.Dict(String, List(internal.StorageChunk))),
),
) -> #(
List(dict.Dict(String, fact.Value)),
option.Option(dict.Dict(String, List(internal.StorageChunk))),
)