We're interested in modifying KDL to support more than 180? rotations, and not have them wrap around. So from 0? to +270? is +270? travel, and not -90? travel.
I see two possible general approaches
1) modify some of the existing diff() type functions to add extra logic to deal with this. This changes existing behavior, but doesn't grow the API.
2) add new diff()-type functions to deal explicitly with long rotations. This won't break any existing code, but grows the API.
At this point we're only interested in preventing the +/-180? wrap around behaviour. Components like the OCL trajectory generators could then easily be changed (on a site-by-site basis if necessary) to use the new diff(), for robots that do support more than 360? of rotation.