Dependently typed versions of common types, eg pairs.