let with_requirements : t -> Requirement.t list -> t = fun f l ->     fun ?name ?(requirements = []) prog ->       f ?name ~requirements:(l @ requirements) prog