1. A memory medium comprising program instructions, wherein the program instructions are executable to perform: identifying a first data flow function in an object-oriented data flow program that comprises at least one input of a parent data type and at least one output of the parent data type; analyzing the first data flow function to determine if the at least one output preserves the run-time data type of the at least one input; identifying a second data flow function in the object-oriented data flow program that comprises a program element that calls the first data flow function, passing an input parameter of a child data type of the parent data type as input; if said analyzing determines that an output parameter returned by the at least one output of the first function will always be of the child data type, automatically configuring the program element to downcast the output parameter from the parent data type to the child data type at run-time.