Renamed some type variables, and made genericSheet slightly more polymorphic -- still work to be done on that front.