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.