Follow-up to #31. Define semantic iterator evidence and user-defined iteration after direct range, fixed-array, dynamic-array, and slice-view loops are established. Reuse optional narrowing for next-result handling; keep static iteration monomorphic where concrete and permit dynamic dispatch only for existing interface values. Add parser/typechecker/ownership/HIR/MIR/backend coverage plus positive and negative source fixtures.
Follow-up to #31. Define semantic iterator evidence and user-defined iteration after direct range, fixed-array, dynamic-array, and slice-view loops are established. Reuse optional narrowing for next-result handling; keep static iteration monomorphic where concrete and permit dynamic dispatch only for existing interface values. Add parser/typechecker/ownership/HIR/MIR/backend coverage plus positive and negative source fixtures.