Non-destructive compilation