@@ -934,7 +934,8 @@ func (r *rewriter) endLoop(loop *forLoop) {
 	if rfunc.Params().Len() != 1 {
 		base.Fatalf("invalid typecheck of range func")
 	}
-	ftyp := rfunc.Params().At(0).Type().(*types2.Signature) // func(...) bool
+
+	ftyp := types2.AsSignature(rfunc.Params().At(0).Type()) // func(...) bool
 	if ftyp.Results().Len() != 1 {
 		base.Fatalf("invalid typecheck of range func")
 	}