change the API for record/sum/tuple encoders, making them quite faster (remove the GADTs)