functor (P : Solver_param-> functor (A : Acyclic_t-> Solver