Client 0.5

Type `datum` should not annoy dynamic typed language users. (pair/first/second/strvalue/numvalue/array with length of 2/etc...)

To avoid confuse, datum type should be defined explicitly.