Patent attributes
The type system of a functional programming language, such as DataWeave and/or the like, may be extended to add valuable semantic information to data types (e.g., attributes of data that inform a compiler/interpreter how the data should be used, etc.) that is automatically generated and/or hidden from a developer/programmer. For example, the type system may be configured for flow typing, based on a graph of type dependencies between expressions, without modifying an existing implementation, except at places where extra information can be obtained. Different parts of the type system implementation may be modified, for example, based on one or more injected retyper nodes, to provide more and better type inference.