sig
val dfsearch :
start:'a ->
childgen:('a -> 'a list) ->
goaltest:('a -> bool) ->
combinator:('a -> bool -> 'b option -> 'b option) -> 'b option
val boundeddfsearch :
start:'a ->
childgen:('a -> 'a list) ->
goaltest:('a -> bool) ->
combinator:('a -> bool -> 'b option -> 'b option) ->
depth:int -> 'b option
val iterativedfs :
start:'a ->
childgen:('a -> 'a list) ->
goaltest:('a -> bool) ->
combinator:('a -> bool -> 'b option -> 'b option) -> 'b option
val bfsearch :
start:'a ->
childgen:('a -> 'a list) ->
goaltest:('a -> bool) ->
combinator:('a -> bool -> 'b option -> 'b option) -> 'b option
val exhaustive_search :
start:'a ->
childgen:('a -> 'a list) ->
goaltest:('a -> bool) ->
combinator:('a -> bool -> 'b option -> 'b option) -> 'b list
val res_comb : 'a -> bool -> 'a option -> 'a option
val path_comb : 'a -> bool -> 'a list option -> 'a list option
end