Hi, it's NISHIO Hirokazu. Today I translate one of my 'quiz' entry. It is for programmers who know a functional programming language.
See following image.
- What do "black-centered squares" mean?
- What do "white-centered squares" mean?
- What do ">"-like shape mean?
- What do "+"-like shape mean?

Answers:
If you have learned Haskell you should have been confused by those rules.
You see ">"-like shape on the third line have a white-centered square on its left. A black circle x was removed from a monad (f x >>= g). So it means (\x -> f x >>= g). It seem like (f >>= g) but it cause type error.
It is a little unclear because it is not symmetrical. But if you remove all black circles, those have same structure as 1 * x = x, x * 1 = x, (x * y) * z = x * (y * z)
Now let's see the last 3 lines.
If you remove all black circles again, you'll see these 3 lines have same structure as 0 * x = 0, x * 0 = 0, x + 0 = 0 + x = x.
This figure is very beautiful because it shows mathematical structure behind haskell.
Want to know more about me? Please visit
http://www.nishiohirokazu.org/