describeValue

internal fun describeValue(value: TransactionValue<*>, stepIndices: Map<StepHandle<*>, Int>? = null): String

Renders a value as the chain that will produce it, source first, never with a literal's value. A handle is rendered by its place in stepIndices where given; its own toString has the index it was created at, which after TransactionPlan.addPlan may not be where its step sits.