Doesn't build with GHC 8.4

    /tmp/stack17032/redis-resp-0.4.0/src/Data/Redis/Command.hs:526:10: error:
        • No instance for (Semigroup (Opts a))
            arising from the superclasses of an instance declaration
        • In the instance declaration for ‘Monoid (Opts a)’
        |
    526 | instance Monoid (Opts a) where
        |          ^^^^^^^^^^^^^^^
    
    /tmp/stack17032/redis-resp-0.4.0/src/Data/Redis/Command.hs:539:10: error:
        • No instance for (Semigroup BitStart)
            arising from the superclasses of an instance declaration
        • In the instance declaration for ‘Monoid BitStart’
        |
    539 | instance Monoid BitStart where
        |          ^^^^^^^^^^^^^^^
    
    /tmp/stack17032/redis-resp-0.4.0/src/Data/Redis/Command.hs:543:10: error:
        • No instance for (Semigroup BitEnd)
            arising from the superclasses of an instance declaration
        • In the instance declaration for ‘Monoid BitEnd’
        |
    543 | instance Monoid BitEnd where
        |          ^^^^^^^^^^^^^
    
    /tmp/stack17032/redis-resp-0.4.0/src/Data/Redis/Command.hs:1078:5: error:
        • Non type-variable argument in the constraint: Semigroup (Opts a)
          (Use FlexibleContexts to permit this)
        • When checking the inferred type
            f :: forall (a :: Symbol).
                 Semigroup (Opts a) =>
                 ByteString -> Opts a -> Opts a
          In an equation for ‘getkey’:
              getkey pats
                = foldr f none (toList pats)
                where
                    f p acc = Opts 2 ("GET" `cons` DL.singleton p) <> acc
         |
    1078 |     f p acc = Opts 2 ("GET" `cons` DL.singleton p) <> acc
         |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^