The dataTypeSetting property is used by the studio's internal "type propagation" mechanism.
When a flow is connected, the mechanism checks whether one end has a type defined and the other does not, and if so propagates that type to the untyped slot and beyond (if that slot is connected to others untyped slots).
This mechanism also takes into account cases where changes in flow should logically cause changes in type (this is where "inferred" slots will change type whereas "explicit" will not).
Apart from flows, certain plugins (for example, Branch, Insert and Update) also participate in type propagation, propagating from one slot once it has a type defined (via propagation or explicitly) to the other, relevant slots.
Note that type propagation is a studio mechanism - the runtime requires slots to have a data type already defined, therefore to have a slot pass any type you should use the Anything datatype, but alas that will not allow you to create a generic Insert etc. as these plug-ins require knowledge of the concrete type. We have no plan at present to implement interfaces (or similar) at the moment, as I feel that goes somewhat against the explicit nature of our modeling paradigm, even though I concede there might be situations where this behavior might prove useful.
For best results, use the Firefox browser..