better ttype naming
remove strictRead/Write

seems useless in most case, and the implemention not exists in c glib.
support user defined struct
add struct to example.