throw "NO T_VOID CONSTRUCT";
 
         case t_base_type::TYPE_STRING:
+            /* this is wrong, binary is still a string type internally
             if (((t_base_type*)type)->is_binary()) {
                 return "thrift.BINARY";
             }
-
+            */
             return "thrift.STRING";
 
         case t_base_type::TYPE_BOOL:
 
 
 func (p *TestStruct) writeField8(oprot TProtocol) (err error) {
        if p.Bin != nil {
-               if err := oprot.WriteFieldBegin("bin", BINARY, 8); err != nil {
+               if err := oprot.WriteFieldBegin("bin", STRING, 8); err != nil {
                        return fmt.Errorf("%T write field begin error 8:bin: %s", p, err)
                }
                if err := oprot.WriteBinary(p.Bin); err != nil {