For the kernel of a proof assistant free variables/universal quantification may be sufficient. In higher level languages such as Coq's tactic language indeterminate variables (not sure of the wording here)/existential variables may be useful.
Also personally I'm interested in languages lacking the full power of dependent product/functions so good use of dependent sum/products is really important.
How do you implement indeterminate/existential variables in type theory?