stepping towards a mechanical compiler