recognizing IFunction[T]