eoio.serialisation.attrs.T# eoio.serialisation.attrs.T = ~T# Bound rather than value-restricted, so that callers holding a union - a writer with a Dataset | DataTree, for example - can pass it without the type checker objecting.