add comment about macro issues (fixes #203)
diff --git a/docs/advanced.rst b/docs/advanced.rst
index c986921..4353536 100644
--- a/docs/advanced.rst
+++ b/docs/advanced.rst
@@ -313,6 +313,15 @@
     >>> call_go(c)
     u'meow! meow! meow! '
 
+.. warning::
+
+    Both :func:`PYBIND11_OVERLOAD` and :func:`PYBIND11_OVERLOAD_PURE` are
+    macros, which means that they can get confused by commas in a template
+    argument such as ``PYBIND11_OVERLOAD(MyReturnValue<T1, T2>, myFunc)``. In
+    this case, the preprocessor assumes that the comma indicates the beginnning
+    of the next parameter. Use a ``typedef`` to bind the template to another
+    name and use it in the macro to avoid this problem.
+
 .. seealso::
 
     The file :file:`example/example12.cpp` contains a complete example that