A uniform approach to program extraction: Pure Type Systems with Ultra-Sigma Types