Ok now dont take this as absolute gospel but until i am informed otherwise i am almost certain all the information here is correct!
This article all refers to 4 and 6 cyl engines only
There are 3 basic FW types and there are 2 basic Engine Block types. The block types we will call "big block" The engines include M10, S14, M30, M88, S38 they all have 100mm bore spacing and all share the same FW ring gear size and profile, so as far as i know is fully interchangeable between all of them.
Then there is the small blocks, they all have 91mm bore spacing and the range covers just about everything else 4 and 6 cyl. Including M20, M40/42/43/44, M50/52/54 and beyond. They all share the same center distance from crank to starter pinion so for the better part everything is interchangeable but heres where it can get a little tricky; The m20 is the only one that has a unique pitch on the starter and ring gear so m20 starter must remain paired with an m20 FW but this combo can be applied to almost any other small block engine. On the flip side almost all the others are fully interchangeable so any fw will fit any engine with any starter all the way from the m40 right up to the turbo N series (aside from the above mentioned m20 exception)
As far as i know aside from the m20 all starters can be interchanged but small block and big block have different offset from the mounting face and ring gear
Big block and Small block FW can NOT be interchanged under any combination or situation!! Even though they have the same tooth profile they have a different center to center distance from the crank to the starter so they have slightly different diameter!