1bb5cf6102
## Summary - unify Relax's former StructInfo surface into the Type vocabulary and Expr.ty storage path - remove leftover DependentTypeNode and legacy OpNode::op_type storage - keep base Type nullable while concrete Relax/DTensor type refs are non-nullable - clean stale StructInfo/TensorStructInfo/sinfo vocabulary in Python/docs and distributed-op macros - address Gemini follow-ups for parser annotations, BlockBuilder docstring, and Adreno TensorType cast audit