Constructors and normalization for Rust type AST nodes.
type/1 accepts existing type nodes, atom/list Rust paths, raw binary source,
and structural tuples such as {:option, type}, {:result, ok, error},
{:vec, type}, tuple types, references, slices, and arrays. Binary source is
normalized to RustQ.Rust.AST.TypeRaw; prefer raw/1 when an explicit escape
makes generator intent clearer.