Github user twalthr commented on the issue: https://github.com/apache/flink/pull/2265 No, there is no FLIP about it. I think a discussion in JIRA or in this PR should be enough. That's why I haven't documented it yet. I was inspired by your [document](https://docs.google.com/document/d/1KMUzvBAWSyQ39T8MyxUi0zNHyvLUnyGMPA7_RLSDpFw/edit). You are right, `ScalarFunction` has many internal functions but they are not exposed to the user, only 2 methods can be overriden. An interface is not enough as it might be sometimes necessary to override `getReturnType` and `getParameterType`.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---