recast : prototype to transform code