made Conv GADTs private, and simplified some internal code