public override bool Equals(ComputedInput other) => other is ReplicaInput ri && PublicationRef == ri.PublicationRef;
Task IFunction.InvokeAndStrip(ComputedInput input, IComputed?usedBy, ComputeContext?context, CancellationToken cancellationToken) => InvokeAndStrip((TIn)input, usedBy, context, cancellationToken);
public override bool Equals(ComputedInput obj) => obj is InterceptedInput other && Equals(other);
async Task <IComputed> IFunction.Invoke(ComputedInput input, IComputed?usedBy, ComputeContext?context, CancellationToken cancellationToken) => await Invoke((TIn)input, usedBy, context, cancellationToken).ConfigureAwait(false);