This is why I love tango: patterns returns a "Freachable" struct, so it has no heap activity. But while this means it returns something, it basically can only be used with a foreach loop (especially as the only public declaration the struct has is opApply).
I wish the tango version of Regex used something similar for matching, instead of a private member variable.