How to rationalise the increasing bond length order in the carbonate ion, carbon monoxide, and carbon dioxide? I am unable to rationalise the order of increasing bond length in $\ce{CO3^2-}$, $\ce{CO}$ and $\ce{CO2}$.
Having gone through the factors affecting bond length in two different books, my approach to the problem was:


$\ce{CO}$ has bond order 3 while carbonate and $\ce{CO2}$ have bond order 4 so
$\ce{CO}$ should have longest bond length.

$\ce{CO2}$ is sp hybridized while $\ce{CO3^2-}$ is sp2 hybridized.
Since carbonate has lesser s character and therefore it should have a greater
bond length than $\ce{CO2}$


Thus,
  $$\ce{CO2  &lt;  CO3^2- &lt; CO}$$

However, I am unsure about my method. What would be the best approach to determine the relative bond length order?
Actually, in regard to bond length, you should be looking at the bond order of a single bond within the molecule. The bond order is 2, not 4, for $\ce{CO2}$, and the bond order for the carbonate ion is somewhere between 1 and 2 due to resonance. Thus, the carbonate ion has the longest bond length, followed by carbon dioxide, and finally carbon monoxide.