In the following snippet, I would expect the cast call to be a no-op as pl.Int32 is already a valid dy.Integer.
This is related to this issue #314
import dataframely as dy
import polars as pl
class S(dy.Schema):
a = dy.Integer()
df = pl.DataFrame({"a": range(10)}, schema=({"a": pl.Int32}))
# `pl.Int32` is a valid dtypes for `dy.Integer`
S.a.validate_dtype(df.schema["a"])
# but it got casted to `pl.Int64`
S.cast(df).schema
# Schema([('a', Int64)])