TextMarshaler and TextUnmarshaler support