Don't self-parameterize Tast_visitor classes
Summary:
The visitors ppx_deriving plugin uses self-parameterized classes as a trick to avoid needing to track type parameters and add type annotations. This is convenient for briefly defining the most flexible possible class types, but not necessary for the TAST visitor classes, since they are used in such a way that only one or zero type parameters are needed.
After this change, `Tast_visitor` provides `iter`, `map`, and `endo` classes with no type parameters, and a `reduce` class parameterized only by the result type.
Reviewed By: pittsw
Differential Revision:
D7719547
fbshipit-source-id:
fc7a22003cd919cca09ea8f1b31246143db726e0