The field of partial evaluation has matured greatly in recent years, with a wide variety of applications in a diversity of areas. However, most of the work on partial evaluation, to date, relies on using knowledge about data values to guide specialization of program code. This project will investigate the use of partial evaluation for the dual optimization, of using knowledge about a program to guide the specialization of data representations. The project will develop, implement, and evaluate techniques to formulate low level data representation optimizations in terms of partial evaluation of enhanced interpreters, as well as techniques to incorporate pragmatic concerns such as placement of representation conversion operations in the residual code.