Yep, it's messy date arithmetic, but it has to 
accomodate working forwards
AND backwards, because FRN's will go forwards 
and are also very 
common,
I agree that there might not be any others going 
forward.
 
You can do IMM and SFE with a simple MOD formula - no need to 
tabulate 
them all like in some 'Top Tier, Global and Prestigious 
Investment Banks' - 
the simple MOD math 
on an integer is also faster than looking up 
a table of
strings ... building in proper suport for IMM etc 
low down also means that bips
are not lost when you price a cap/floor/swaption 
etc etc on underlying IMM
dates.  
 
James