vlr: short circut sum and prod in zero and one cases
vlr: short circut sum and prod in zero and one cases

Leaf operations in sum and prod reduce to a map_r operation. The result
will therefore be determined by the Result.t operations at the nodes of
the other diagram. Since

  Result.prod one t = t
  Result.prod t one = t

  Result.sum zero t
  Result.sum t zero

the Vlr.prod and Vlr.prod operation can short circuit when they
encounters a leaf node holding the value one or zero, respectively, by
just returning the other diagram. And since

  Result.prod zero t
  Result.prod t zero

the Vlr.prod operation can short circuit when it encounters a leaf ndoe
holding the value zero by just returning zero.

seliopou/ocaml-tdk,frenetic-lang/ocaml-tdk