It is not obvious what the various methods (
withFilter) that need to be implemented for getting sequence or for comprehensions (these change depending on whether you are yielding or not or you support
unapply etc etc).
The best documentation for this lives in a StackOverflow answer: http://stackoverflow.com/questions/1052476/what-is-scalas-yield/1059501#1059501
Why not simply put these special functions in couple of traits so it is obvious to the user which ones to implement to get the various comprehension features?