         ValueObservation<ValueReducers.UniqueRecord<Request.RowDecoder>>
         where Request.RowDecoder: FetchableRecord
     {
-        return ValueObservation<ValueReducers.UniqueRecord<Request.RowDecoder>>(
-            tracking: request.databaseRegion,
+        return ValueObservation<ValueReducers.UniqueRecord<Request.RowDecoder>>.tracking(
+            request,
             reducer: ValueReducers.UniqueRecord { try Row.fetchOne($0, request) })
     }
 }

        -> ValueObservation<ValueReducers.UniqueValue<Request.RowDecoder>>
        where Request.RowDecoder: DatabaseValueConvertible
    {
        return ValueObservation<ValueReducers.UniqueValue<Request.RowDecoder>>(
            tracking: request.databaseRegion,
            reducer: ValueReducers.UniqueValue { try DatabaseValue.fetchOne($0, request) })
    }
}

        where Request.RowDecoder: _OptionalProtocol,
        Request.RowDecoder._Wrapped: DatabaseValueConvertible
    {
        return ValueObservation.tracking(request, fetch: request.fetchAll)
    }
    
    /// Creates a ValueObservation which observes *request*, and notifies
