
Carlos Fallanty lost his wife at the time of the Violent Unknown Event . She was a voluble , untidy woman who made her own clothes and washed once a week in the water wrung out of the laundry . She was invaluable to her husband . She looked after his poultry , kept his accounts , and when roused , was as uxorious a wife as Carlos could wish to have . On the night of June 12th of the VUE , Carlos 's wife suffered a stroke , and Carlos transferred his affection to a turkey . The VUE Directory records for Carlos a debilitating malfunction of the left ventricle , bone-marrow disease , and save for the VUE immortality clause , would have normally given him six months to live . Carlos had buried his wife in the floor of his greenhouse . The local authorities later had the body exhumed . Now Carlos lived in the greenhouse to keep his turkey company . A fowl-pest epidemic finally erased Carlos 's other poultry , and two veterinary officials came to make sure he had burnt or buried all the corpses . Insisting that the one remaining bird should be destroyed as well , the vet promised to compensate Carlos with at least a set of photographs . These are the photographs taken as the vet stalked the bird with his camera , whilst the vet 's assistant stalked the bird with a shotgun . Carlos was not happy with the photographs . He is now awaiting trial at Clichy for shooting the vet . 