Very very nice indeed!
Only I have an (IMO) easier way of doing double hets.
Say you have AaBb x AaBb
First, do Aa x Aa and you get:
1/4 AA
1/2 Ab
1/4 aa
Then do the Bb x Bb and you get the same.
Soooo you do this (multiply the respective proportions):
AA 1/4 x BB 1/4 = AABB 1/16
x Bb 1/2 = AABb 1/8 (2/16)
x bb 1/4 = AAbb 1/16
Aa 1/2 x BB 1/4 = AaBb 2/16
x Bb 1/2 = AaBb 4/16
x bb 1/4 = Aabb 2/16
aa 1/4 x BB 1/4 = aaBB 1/16
x Bb 1/2 = aaBb 2/16
x bb 1/4 = aabb 1/16
Make sense? I just find it easier than all those little squares