Value() is on UUID, not *UUID.
diff --git a/sql.go b/sql.go
index dd6a1d3..586020c 100644
--- a/sql.go
+++ b/sql.go
@@ -61,6 +61,6 @@
 // Value implements sql.Valuer so that UUIDs can be written to databases
 // transparently. Currently, UUIDs map map to strings. Please consult
 // database-specific driver documentation for matching types.
-func (uuid *UUID) Value() (driver.Value, error) {
+func (uuid UUID) Value() (driver.Value, error) {
 	return uuid.String(), nil
 }