The goal is to permit registration code like:
g.transform("A", make_an_a).input_family(...);
g.transform("B", make_a_b).input_family("A"_in("spill"));
where the output name of the product created by transform "A" does not need to be explicitly specified for transform "B". This means that the specified name corresponds to the node name and not the name of the data product. The name of the data product only needs to be specified to disambiguate between other products produced by the same creator with the same type.