Backing out my changes.
Improved version coming soon to a Source Forge near you!
diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex
index b66de07..91dd675 100644
--- a/Doc/lib/libstdtypes.tex
+++ b/Doc/lib/libstdtypes.tex
@@ -783,12 +783,8 @@
   \ttindex{has_key()}
   \ttindex{items()}
   \ttindex{keys()}
-  \ttindex{firstitem()}
-  \ttindex{firstkey()}
   \ttindex{update()}
   \ttindex{values()}
-  \ttindex{firstvalue()}
-  \ttindex{setdefault()}
   \ttindex{get()}}
 
 \begin{tableiii}{c|l|c}{code}{Operation}{Result}{Notes}
@@ -808,19 +804,11 @@
   \lineiii{\var{a}.items()}
           {a copy of \var{a}'s list of (\var{key}, \var{value}) pairs}
           {(2)}
-  \lineiii{\var{a}.firstitem()}
-          {a (\var{key}, \var{value}) pair, the first one in \var{a}.items()}
-          {(2)}
   \lineiii{\var{a}.keys()}{a copy of \var{a}'s list of keys}{(2)}
-  \lineiii{\var{a}.firstkey()}
-          {the first element in \var{a}.keys()}
-          {(2)}
   \lineiii{\var{a}.update(\var{b})}
           {\code{for k in \var{b}.keys(): \var{a}[k] = \var{b}[k]}}
           {(3)}
   \lineiii{\var{a}.values()}{a copy of \var{a}'s list of values}{(2)}
-  \lineiii{\var{a}.firstvalue()}
-          {the first element in \var{a}.values()}
   \lineiii{\var{a}.get(\var{k}\optional{, \var{x}})}
           {\code{\var{a}[\var{k}]} if \code{\var{a}.has_key(\var{k})},
            else \var{x}}
diff --git a/Lib/test/test_types.py b/Lib/test/test_types.py
index 06b001a..eec9e2d 100644
--- a/Lib/test/test_types.py
+++ b/Lib/test/test_types.py
@@ -265,9 +265,3 @@
 d.setdefault('key', []).append(4)
 if len(d['key']) <> 2:
     raise TestFailed, 'present {} setdefault, w/ 2nd arg'
-if d.keys()[0] != d.firstkey():
-    raise TestFailed, 'first key is not first in keys'
-if d.values()[0] != d.firstvalue():
-    raise TestFailed, 'first value is not first in values'
-if d.items()[0] != d.firstitem():
-    raise TestFailed, 'first item is not first in items'
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index ecc94cd..7be1c67 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -709,75 +709,6 @@
 };
 
 static PyObject *
-dict_firstkey(register dictobject *mp, PyObject *args)
-{
-	register int i;
-
-	if (!PyArg_NoArgs(args))
-		return NULL;
-	if (mp->ma_used == 0) {
-		PyErr_SetString(PyExc_ValueError, "empty dictionary");
-		return NULL;
-	}
-	for (i = 0; i < mp->ma_size; i++) {
-		if (mp->ma_table[i].me_value != NULL) {
-			PyObject *key = mp->ma_table[i].me_key;
-			Py_INCREF(key);
-			return key;
-		}
-	}
-}
-
-static PyObject *
-dict_firstvalue(register dictobject *mp, PyObject *args)
-{
-	register int i;
-
-	if (!PyArg_NoArgs(args))
-		return NULL;
-	if (mp->ma_used == 0) {
-		PyErr_SetString(PyExc_ValueError, "empty dictionary");
-		return NULL;
-	}
-	for (i = 0; i < mp->ma_size; i++) {
-		if (mp->ma_table[i].me_value != NULL) {
-			PyObject *value = mp->ma_table[i].me_value;
-			Py_INCREF(value);
-			return value;
-		}
-	}
-}
-
-static PyObject *
-dict_firstitem(register dictobject *mp, PyObject *args)
-{
-	register int i;
-
-	if (!PyArg_NoArgs(args))
-		return NULL;
-	if (mp->ma_used == 0) {
-		PyErr_SetString(PyExc_ValueError, "empty dictionary");
-		return NULL;
-	}
-	for (i = 0; i < mp->ma_size; i++) {
-		if (mp->ma_table[i].me_value != NULL) {
-			PyObject *key = mp->ma_table[i].me_key;
-			PyObject *value = mp->ma_table[i].me_value;
-			PyObject *item = PyTuple_New(2);
-			if (item == NULL) {
-				return NULL;
-			}
-			Py_INCREF(key);
-			PyTuple_SetItem(item, 0, key);
-			Py_INCREF(value);
-			PyTuple_SetItem(item, 1, value);
-			return item;
-		}
-	}
-}
-
-
-static PyObject *
 dict_keys(register dictobject *mp, PyObject *args)
 {
 	register PyObject *v;
@@ -1231,9 +1162,6 @@
 	{"keys",	(PyCFunction)dict_keys},
 	{"items",	(PyCFunction)dict_items},
 	{"values",	(PyCFunction)dict_values},
-	{"firstkey",	(PyCFunction)dict_firstkey},
-	{"firstitem",	(PyCFunction)dict_firstitem},
-	{"firstvalue",	(PyCFunction)dict_firstvalue},
 	{"update",	(PyCFunction)dict_update},
 	{"clear",	(PyCFunction)dict_clear},
 	{"copy",	(PyCFunction)dict_copy},