 
     encode_consistency_level(consistency) <>
       <<flags>> <>
-      encode_values(values) <>
+      encode_query_values(values) <>
       <<page_size::32>> <>
       encode_paging_state(paging_state)
   end

  end

  # Alias of :text
  defp encode_query_value(:varchar, varchar) do
    encode_query_value(:text, varchar)
  end

  defp encode_query_value(:varint, varint) when is_integer(varint) do
    size = varint_byte_size(varint)
    <<varint::size(size)-unit(8)>>
  end

  defp encode_query_value(:timeuuid, timeuuid) when is_binary(timeuuid) do
    encode_query_value(:uuid, timeuuid)
  end

  defp encode_query_value({:tuple, types}, tuple) when length(types) == tuple_size(tuple) do
    for {type, item} <- Enum.zip(types, Tuple.to_list(tuple)),
        into: <<>>,
        do: encode_bytes(encode_query_value(type, item))
  end

  defp varint_byte_size(value) when value in -128..127,

    do: 1 + varint_byte_size(value >>> 8)
  defp varint_byte_size(value) when value < -128,
    do: varint_byte_size(-value - 1)

  @compile {:inline, decode_base16: 1}
  defp decode_base16(value) do
