sig
  val value_alg :
    Counter.t ->
    ?time:float ->
    get_alg:(int -> Primitives.alg_expr) ->
    get_mix:(Pattern.id array list -> Nbr.t) ->
    get_tok:(int -> Nbr.t) -> Primitives.alg_expr -> Nbr.t
  val value_bool :
    Counter.t ->
    ?time:float ->
    get_alg:(int -> Primitives.alg_expr) ->
    get_mix:(Pattern.id array list -> Nbr.t) ->
    get_tok:(int -> Nbr.t) ->
    (Pattern.id array list, int) Alg_expr.bool -> bool
end