title: Gocql custom marshaller
body: <p>I have a table with a tuple column that is made up of an int64 paired with a uuid:</p>
  
  <pre><code>CREATE TABLE ks.mytable {
      fileid    frozen &lt;tuple &lt;bigint, uuid&gt;&gt;,
      hits      counter,
      ...
  </code></pre>
  
  <p>and I can currently set the field using a cql statement like:</p>
  
  <pre><code>UPDATE ks.mytable hits = hits + 1 WHERE fileid=(? ?);
  </code></pre>
  
  <p>and I pass in 2 variables as arguments, an <code>int64</code> and a <code>gocql.UUID</code>.</p>
  
  <p>Instead of moving 2 variables around everywhere, I want to put these in a struct, something like</p>
  
  <pre><code>type MyID struct {
      id  int64
      uid  gocql.UUID
  }
  </code></pre>
  
  <p>then use a <code>Marshaller</code> to pass these into the <code>UPDATE</code> statement.</p>
  
  <p>Is this possible?  I am not sure if I can pass in a single variable for the tuple field.  If so, how can I do this?  I can't figure out how - I was trying to mimic <a href="https://github.com/gocql/gocql/blob/master/marshal_test.go#L935" rel="nofollow">https://github.com/gocql/gocql/blob/master/marshal_test.go#L935</a> but I'm getting errors where I can't set the fields in the struct (<code>cannot refer to unexported field or method proto</code>)</p>