- Changed functions to take a walkSet instead of a walk
- Changed walk protocols to be result protocols. Using protocols rather than concrete objects was complicating object comparison. Protocols are now only used by WHIWhittle to hide the actual return type.