Sometimes, there are multiple pathways by which a graph might produce something (e.g. a graph could contain two operations which both produce a "foo" by different methods). Currently, such a graph will arbitrarily choose one such path, and produce the data using this one. Is this really the best default behavior? Should there be an option to throw an error for an ambiguous graph?