type constructors must convert values not only from binaries