fill() is not atomic
fill fails, because
max_sites is reached or because the shape function raises an exception (this happens in
attach_lead() when the scattering region does not interrupt the central builder), the graph of the target builder is in an inconsistent state and is currently erased.
fill should be atomic: either it suceeds, or it leaves