Hi, thanks for the great project! It seems like you've decided to go with the gymnasium.Space-style API instead of the dm_env.specs-style API. I'm curious about the design reasoning behind this, since the dm_env.specs seems to fit more naturally into the PyTree way of thinking: an observation can be an arbitrary PyTree of Arrays, and for the spec, we just replace each leaf with the corresponding specs.Array. We could then handle validation in a functional style.