+ } deriving (Eq, Show, Data, Typeable)
+
+instance Lift ETag where
+ lift (ETag {..})
+ = [| ETag {
+ etagIsWeak = $(lift etagIsWeak)
+ , etagToken = $(lift etagToken )
+ }
+ |]
+
+instance ConvertSuccess ETag Ascii where
+ {-# INLINE convertSuccess #-}
+ convertSuccess = convertSuccessVia ((⊥) ∷ AsciiBuilder)
+
+instance ConvertSuccess ETag AsciiBuilder where
+ {-# INLINE convertSuccess #-}
+ convertSuccess (ETag {..})
+ = ( if etagIsWeak then
+ cs ("W/" ∷ Ascii)
+ else
+ (∅)
+ )
+ ⊕
+ quoteStr etagToken