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 < CO3^2- < CO}$$
However, I am unsure about my method. What would be the best approach to determine the relative bond length order?