Right now, if `World` is `const`, we can still change its internal `Shape` objects. This should not be allowed.