I have worked with VTK (the visualization toolkit). It is like babel and allows differents block to be chained and evaluated on demand.
In VTK, such a chain is called a pipeline. Clearly the main challenge of VTK is to ensure that the data flowing between algorithms are compatible. VTK relies heavily on the type of data. How in Babel can we associate a type to a data ? to a column of a table ? to a list ? Without such a information, how can babel infer the type ?