It should be noted that no ethically trained software engineer would ever consent to write a DestroyBaghdad() procedure. Basic professional ethics would instead require him to write a DestroyCity() procedure, to which Baghdad could be given as a parameter.
Nathaniel S Borenstein