Syntax update.

Replace assigment attempt with object test.
Improve converters.

Replace old syntax with new one and improve
implementation.
Add documentation and contracts for domain types.