diff --git a/music-dynamics-literal.cabal b/music-dynamics-literal.cabal
--- a/music-dynamics-literal.cabal
+++ b/music-dynamics-literal.cabal
@@ -1,6 +1,6 @@
 
 name:                   music-dynamics-literal
-version:                1.6.2
+version:                1.7
 author:                 Hans Hoglund
 maintainer:             Hans Hoglund
 license:                BSD3
@@ -22,7 +22,8 @@
   location:         git://github.com/music-suite/music-dynamics-literal.git
 
 library
-    build-depends:      base >= 4 && < 5
+    build-depends:      base            >= 4        && < 5,
+                        semigroups      >= 0.13.0.1 && < 1
     exposed-modules:    Music.Dynamics.Literal
     hs-source-dirs:     src
     default-language:   Haskell2010
diff --git a/src/Music/Dynamics/Literal.hs b/src/Music/Dynamics/Literal.hs
--- a/src/Music/Dynamics/Literal.hs
+++ b/src/Music/Dynamics/Literal.hs
@@ -24,6 +24,9 @@
         sffz, sfz, fz, rfz, fp
   ) where
 
+import Data.Semigroup
+import Control.Applicative
+
 -- | 
 -- Dynamics literal.
 --
@@ -49,7 +52,13 @@
     fromDynamics = id
 
 instance IsDynamics a => IsDynamics (Maybe a) where
-    fromDynamics = Just . fromDynamics
+    fromDynamics = pure . fromDynamics
+
+instance (Monoid b, IsDynamics a) => IsDynamics (b, a) where
+    fromDynamics = pure . fromDynamics
+
+instance IsDynamics a => IsDynamics [a] where
+    fromDynamics = pure . fromDynamics
 
 instance IsDynamics Double where
     fromDynamics (DynamicsL (Just x, _)) = x
