Removed the API to create unbound methods and simplified the API for bound methods. The signature is PyMethod_New(func, instance).
Also removed im_class and renamed im_self to __self__ and im_func to __func__. im_class can be substituted with method.__self__.__class__.
I've also updated some parts of the documenation.
diff --git a/Objects/funcobject.c b/Objects/funcobject.c
index f9b0346..ac68edc 100644
--- a/Objects/funcobject.c
+++ b/Objects/funcobject.c
@@ -647,7 +647,7 @@
 		Py_INCREF(func);
 		return func;
 	}
-	return PyMethod_New(func, obj, type);
+	return PyMethod_New(func, obj);
 }
 
 PyTypeObject PyFunction_Type = {
@@ -751,8 +751,7 @@
 	}
 	if (type == NULL)
 		type = (PyObject *)(Py_Type(obj));
- 	return PyMethod_New(cm->cm_callable,
-			    type, (PyObject *)(Py_Type(type)));
+ 	return PyMethod_New(cm->cm_callable, type);
 }
 
 static int