functor (F : Ordered_field) ->
  sig val eval : 'a Flang.t -> f:('a -> F.t) -> F.t end