title: Getting results from arbitrary SQL statements with correct binding in SQLite.swift
body: <p>The <a href="https://github.com/stephencelis/SQLite.swift/blob/master/Documentation/Index.md#executing-arbitrary-sql" rel="noreferrer">SQLite.swift documentation</a> says about executing arbitrary SQL:</p>
  
  <pre><code>let stmt = try db.prepare("SELECT id, email FROM users")
  for row in stmt {
      for (index, name) in stmt.columnNames.enumerate() {
          print ("\(name)=\(row[index]!)")
          // id: Optional(1), email: Optional("alice@mac.com")
      }
  }
  </code></pre>
  
  <p>I wanted to get the values directly like this</p>
  
  <pre><code>let stmt = try db.prepare("SELECT id, email FROM users")
  for row in stmt {
      let myInt: Int64 = row[0] // error: Cannot convert value of type 'Binding?' to specified type 'Int64'
      let myString: String = row[1] // error: Cannot convert value of type 'Binding?' to specified type 'String'
  }
  </code></pre>
  
  <p>but the row index is of type <code>Binding?</code> and I can't figure out how to convert that to the type I need. I see there is a <code>Statement.bind</code> method in the <a href="https://github.com/stephencelis/SQLite.swift/blob/master/SQLite/Core/Statement.swift" rel="noreferrer">source code</a> but I am still not discovering how to apply it.</p>