Tests and implementation for third etude.
Etude 3-2 with guard.
Etude 3-3: default return lavue for unknown shapes.

It was somewhat tricky with previus etude, when throwing error was required.
Etude 3-4: changed function with arity to tuple.