gClient :: (Stream -> ResourceT IO (Either (String, LBS.ByteString) a))
       -> Maybe MediaType
       -> Method
       -> [Int]
       -> Request
       -> ServiceConfig
       -> GClient a
gClient f cs m statuses rq s = GClient
    { _cliAccept   = cs
    , _cliMethod   = m
    , _cliCheck    = \status -> fromEnum status `elem` statuses
    , _cliService  = s
    , _cliRequest  = rq
    , _cliResponse = f
    }
gClient :: (Stream -> ResourceT IO (Either (String, LBS.ByteString) a))
       -> Maybe MediaType
       -> Method
       -> [Int]
       -> Request
       -> ServiceConfig
       -> GClient a
gClient f cs m statuses rq s = GClient
    { _cliAccept   = cs
    , _cliMethod   = m
    , _cliCheck    = \status -> fromEnum status `elem` statuses
    , _cliService  = s
    , _cliRequest  = rq
    , _cliResponse = f
    }
gClient f cs m statuses rq s = GClient
    { _cliAccept   = cs
    , _cliMethod   = m
    , _cliCheck    = \status -> fromEnum status `elem` statuses
    , _cliService  = s
    , _cliRequest  = rq
    , _cliResponse = f
    }