Defined macros Py_RETURN_(TRUE|FALSE|NONE) as helper functions for returning
the specified value.  All three Py_INCREF the singleton and then return it.
diff --git a/Include/boolobject.h b/Include/boolobject.h
index e7a4e60..7c4939b 100644
--- a/Include/boolobject.h
+++ b/Include/boolobject.h
@@ -23,6 +23,10 @@
 #define Py_False ((PyObject *) &_Py_ZeroStruct)
 #define Py_True ((PyObject *) &_Py_TrueStruct)
 
+/* Macros for returning Py_True or Py_False, respectively */
+#define Py_RETURN_TRUE Py_INCREF(Py_True); return Py_True;
+#define Py_RETURN_FALSE Py_INCREF(Py_False); return Py_False;
+
 /* Function to return a bool from a C long */
 PyAPI_FUNC(PyObject *) PyBool_FromLong(long);
 
diff --git a/Include/object.h b/Include/object.h
index 252e99c..8fdd4dc 100644
--- a/Include/object.h
+++ b/Include/object.h
@@ -633,6 +633,9 @@
 PyAPI_DATA(PyObject) _Py_NoneStruct; /* Don't use this directly */
 #define Py_None (&_Py_NoneStruct)
 
+/* Macro for returning Py_None from a function */
+#define Py_RETURN_NONE Py_INCREF(Py_None); return Py_None;
+
 /*
 Py_NotImplemented is a singleton used to signal that an operation is
 not implemented for a given type combination.