this doesn't work. Actually return in foreach means, that you set return value for block. so it also continue
lets try this code:
```
list a = [1,2];
any res = foreach ( any i, a, {
  return a==1;
})

y2milestone ("result: %1",res);
}
```

what you want achieve can be done with break. See

```
list count = [0,1];
list side = [];
any res = foreach( any i, count, {
  side = side + i;
  break;
});
y2milestone ("count of cycles: %1", side);

return res != nil;
}
```

another question is why you introduce return value when you don't use it and if it make sense to have it? Respective if you want to allow module on user cancel ( but not to user skip ).