Add contracts for all fstruct types.

Spread out some more explanatory comments.

Remove unused color and submodes fields from mode struct.