+// bind_obj - Often times you want to apply the member function of an object
+// as a unary functor. This macro is shorthand that makes it happen less
+// verbosely.
+//
+// Example:
+// struct Summer { void accumulate(int x); }
+// vector<int> Numbers;
+// Summer MyS;
+// for_each(Numbers.begin(), Numbers.end(),
+// bind_obj(&MyS, &Summer::accumulate));
+//
+// TODO: When I get lots of extra time, convert this from an evil macro
+//
+#define bind_obj(OBJ, METHOD) std::bind1st(std::mem_fun(METHOD), OBJ)
+
+