diff --git a/BaseLib/Functional.h b/BaseLib/Functional.h
index 4553dc09a34fd064ce5a6a3e64888a3806ce0ff0..841ae244d3caea49ce6a39e26192b01b7d421cc9 100644
--- a/BaseLib/Functional.h
+++ b/BaseLib/Functional.h
@@ -173,6 +173,8 @@ template <typename Object, typename MethodClass, typename ReturnType,
           typename... Args>
 typename std::enable_if<
     std::is_same<MethodClass,
+                 /* Note: All of remove_cv, remove_pointer and decay is
+                  * necessary, e.g. if method is a member function pointer. */
                  typename std::remove_cv<typename std::remove_pointer<
                      typename std::decay<Object>::type>::type>::type>::value,
     std::function<ReturnType(Args...)>>::type