protected override X ComputeX(IInputX input) { return(ComputeX(input.A, input.B, input.C)); }
protected abstract X ComputeX(IInputX input);