The truth value produced by break
depends on whether the minimum number of iterations in an iterative rule have been reached or not.
>> parse "aaabbb" [ some [ "a" break ] to end]
== true
Here we have matched "a" at least once, and then broken out of the some rule and continued to the end. This is true.
>> parse "aaabbb" [ some [ "a" reject ] to end]
== false
Here although we matched "a" once, reject causes the some rule to fail.
See Carl's blog for more details.