Extracting Programs from Constructive HOL Proofs via IZF Set-Theoretic Semantics (Logical Methods in Computer Science, 2008)