support for custom function introspection