View on GitHub
 (3 comments) (0 reactions) (0 assignees)Haskell (74 forks)github user discovery
Type: Maintenancegood first issue

Repository metrics

Stars
 (491 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

I just noticed that this package doesn't use -Wall in the library or in the executables. When I enable -Wall for the library, I get (with GHC-9.2.1):

[ 1 of 29] Compiling Foreign.JavaScript.Include ( src/Foreign/JavaScript/Include.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/Include.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/Include.dyn_o )

src/Foreign/JavaScript/Include.hs:4:1: warning: [-Wunused-imports]
    The import of ‘Data.Functor’ is redundant
      except perhaps to import instances from ‘Data.Functor’
    To import instances alone, use: import Data.Functor()
  |
4 | import           Data.Functor
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/Include.hs:11:5: warning: [-Wname-shadowing]
    This binding for ‘path’ shadows the existing binding
      bound at src/Foreign/JavaScript/Include.hs:10:9
   |
11 |     path <- makeRelativeToProject path
   |     ^^^^
[ 2 of 29] Compiling Foreign.JavaScript.Resources ( src/Foreign/JavaScript/Resources.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/Resources.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/Resources.dyn_o )
[ 3 of 29] Compiling Foreign.RemotePtr ( src/Foreign/RemotePtr.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/RemotePtr.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/RemotePtr.dyn_o )

src/Foreign/RemotePtr.hs:20:1: warning: [-Wunused-imports]
    The import of ‘Control.Concurrent’ is redundant
      except perhaps to import instances from ‘Control.Concurrent’
    To import instances alone, use: import Control.Concurrent()
   |
20 | import           Control.Concurrent
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/RemotePtr.hs:23:1: warning: [-Wunused-imports]
    The import of ‘Data.Functor’ is redundant
      except perhaps to import instances from ‘Data.Functor’
    To import instances alone, use: import Data.Functor()
   |
23 | import Data.Functor
   | ^^^^^^^^^^^^^^^^^^^

src/Foreign/RemotePtr.hs:26:1: warning: [-Wunused-imports]
    The import of ‘System.IO.Unsafe’ is redundant
      except perhaps to import instances from ‘System.IO.Unsafe’
    To import instances alone, use: import System.IO.Unsafe()
   |
26 | import           System.IO.Unsafe         (unsafePerformIO)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/RemotePtr.hs:28:1: warning: [-Wunused-imports]
    The qualified import of ‘System.Mem.Weak’ is redundant
      except perhaps to import instances from ‘System.Mem.Weak’
    To import instances alone, use: import System.Mem.Weak()
   |
28 | import qualified System.Mem.Weak  as Weak
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/RemotePtr.hs:45:18: warning: [-Wunused-matches]
    Defined but not used: ‘r’
   |
45 | mkWeakIORefValue r@(GHC.IORef (GHC.STRef r#)) v (GHC.IO f) = GHC.IO $ \s ->
   |                  ^

src/Foreign/RemotePtr.hs:136:9: warning: [-Wname-shadowing]
    This binding for ‘finalize’ shadows the existing binding
      imported from ‘System.Mem.Weak’ at src/Foreign/RemotePtr.hs:27:1-63
      (and originally defined in ‘GHC.Weak’)
    |
136 |     let finalize = atomicModifyIORef' coupons $ \m -> (Map.delete coupon m, ())
    |         ^^^^^^^^

src/Foreign/RemotePtr.hs:158:11: warning: [-Wname-shadowing]
    This binding for ‘ptr’ shadows the existing binding
      bound at src/Foreign/RemotePtr.hs:151:15
    |
158 |     touch ptr = void $ readIORef ptr
    |           ^^^
[ 4 of 29] Compiling Foreign.JavaScript.Types ( src/Foreign/JavaScript/Types.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/Types.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/Types.dyn_o )

src/Foreign/JavaScript/Types.hs:4:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
  |
4 | import           Control.Applicative
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/Types.hs:7:1: warning: [-Wunused-imports]
    The import of ‘Control.Concurrent.Chan’ is redundant
      except perhaps to import instances from ‘Control.Concurrent.Chan’
    To import instances alone, use: import Control.Concurrent.Chan()
  |
7 | import           Control.Concurrent.Chan as Chan
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/Types.hs:13:1: warning: [-Wunused-imports]
    The import of ‘Data.IORef’ is redundant
      except perhaps to import instances from ‘Data.IORef’
    To import instances alone, use: import Data.IORef()
   |
13 | import           Data.IORef
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/Types.hs:124:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      newFilepaths :: (Integer, Map k a)
    |
124 | newFilepaths = (0, Map.empty)
    | ^^^^^^^^^^^^

src/Foreign/JavaScript/Types.hs:124:17: warning: [-Wtype-defaults]
    • Defaulting the following constraint to type ‘Integer’
        Num a0 arising from the literal ‘0’
    • In the expression: 0
      In the expression: (0, Map.empty)
      In an equation for ‘newFilepaths’: newFilepaths = (0, Map.empty)
    |
124 | newFilepaths = (0, Map.empty)
    |                 ^

src/Foreign/JavaScript/Types.hs:155:5: warning: [-Wincomplete-patterns]
    Pattern match(es) are non-exhaustive
    In an equation for ‘parseJSON’:
        Patterns of type ‘Value’ not matched:
            Array _
            String _
            Number _
            Bool _
            ...
    |
155 |     parseJSON (Object msg) = do
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^...

src/Foreign/JavaScript/Types.hs:157:9: warning: [-Wincomplete-patterns]
    Pattern match(es) are non-exhaustive
    In a case alternative:
        Patterns of type ‘Text’ not matched:
            p where p is not one of {"Quit", "Exception", "Event", ...}
    |
157 |         case (tag :: Text) of
    |         ^^^^^^^^^^^^^^^^^^^^^...

src/Foreign/JavaScript/Types.hs:190:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: t :: String -> Text
    |
190 | t s = fromString s :: Text
    | ^

src/Foreign/JavaScript/Types.hs:258:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: flushPeriod :: Int
    |
258 | flushPeriod = 300 :: Int
    | ^^^^^^^^^^^
[ 5 of 29] Compiling Foreign.JavaScript.Server ( src/Foreign/JavaScript/Server.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/Server.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/Server.dyn_o )

src/Foreign/JavaScript/Server.hs:7:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
  |
7 | import           Control.Applicative
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/Server.hs:18:1: warning: [-Wunused-imports]
    The import of ‘Data.Text’ is redundant
      except perhaps to import instances from ‘Data.Text’
    To import instances alone, use: import Data.Text()
   |
18 | import           Data.Text
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/Server.hs:24:1: warning: [-Wunused-imports]
    The import of ‘Data.Aeson’ is redundant
      except perhaps to import instances from ‘Data.Aeson’
    To import instances alone, use: import Data.Aeson()
   |
24 | import           Data.Aeson                             ((.=))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/Server.hs:89:17: warning: [-Wname-shadowing]
    This binding for ‘input’ shadows the existing binding
      bound at src/Foreign/JavaScript/Server.hs:85:13
   |
89 |                 input  -> case JSON.decode input of
   |                 ^^^^^

src/Foreign/JavaScript/Server.hs:104:5: warning: [-Wunused-do-bind]
    A do-notation statement discarded a result of type ‘ThreadId’
    Suppress this warning by saying
      ‘_ <- forkFinally (sendData `race_` readData `race_` sentry)
              $ \ _
                  -> void
                       $ do commClose
                            ....’
    |
104 |     forkFinally (sendData `race_` readData `race_` sentry) $ \_ -> void $ do
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...

src/Foreign/JavaScript/Server.hs:111:13: warning: [-Wname-shadowing]
    This binding for ‘all’ shadows the existing bindings
      imported from ‘Prelude’ at src/Foreign/JavaScript/Server.hs:2:8-32
      (and originally defined in ‘Data.Foldable’)
      imported from ‘Data.Text’ at src/Foreign/JavaScript/Server.hs:18:1-26
    |
111 |             all _ = Just ()
    |             ^^^

src/Foreign/JavaScript/Server.hs:131:44: warning: [-Wname-shadowing]
    This binding for ‘path’ shadows the existing binding
      imported from ‘Snap.Core’ at src/Foreign/JavaScript/Server.hs:28:1-54
      (and originally defined in ‘Snap.Internal.Core’)
    |
131 |             withFilepath (sDirs  server) (\path _ -> serveDirectory path))
    |                                            ^^^^

src/Foreign/JavaScript/Server.hs:137:25: warning: [-Wname-shadowing]
    This binding for ‘dir’ shadows the existing binding
      imported from ‘Snap.Core’ at src/Foreign/JavaScript/Server.hs:28:1-54
      (and originally defined in ‘Snap.Internal.Core’)
    |
137 |     static = maybe [] (\dir -> [("/static", serveDirectory dir)]) staticDir
    |                         ^^^

src/Foreign/JavaScript/Server.hs:139:5: warning: [-Wname-shadowing]
    This binding for ‘root’ shadows the existing binding
      imported from ‘Foreign.JavaScript.Types’ at src/Foreign/JavaScript/Server.hs:34:1-31
      (and originally defined at src/Foreign/JavaScript/Types.hs:301:1-4)
    |
139 |     root = case customHTML of
    |     ^^^^

src/Foreign/JavaScript/Server.hs:141:18: warning: [-Wname-shadowing]
    This binding for ‘dir’ shadows the existing binding
      imported from ‘Snap.Core’ at src/Foreign/JavaScript/Server.hs:28:1-54
      (and originally defined in ‘Snap.Internal.Core’)
    |
141 |             Just dir -> serveFile (dir </> file)
    |                  ^^^

src/Foreign/JavaScript/Server.hs:145:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      writeTextMime :: MonadSnap m => Text -> ByteString -> m ()
    |
145 | writeTextMime text mime = do
    | ^^^^^^^^^^^^^

src/Foreign/JavaScript/Server.hs:155:15: warning: [-Wname-shadowing]
    This binding for ‘path’ shadows the existing binding
      imported from ‘Snap.Core’ at src/Foreign/JavaScript/Server.hs:28:1-54
      (and originally defined in ‘Snap.Internal.Core’)
    |
155 |         Just (path,mimetype) -> cont path (BS.pack mimetype)
    |               ^^^^

src/Foreign/JavaScript/Server.hs:163:23: warning: [-Wname-shadowing]
    This binding for ‘path’ shadows the existing binding
      imported from ‘Snap.Core’ at src/Foreign/JavaScript/Server.hs:28:1-54
      (and originally defined in ‘Snap.Internal.Core’)
    |
163 | newAssociation rDict (path,mimetype) = do
    |                       ^^^^

src/Foreign/JavaScript/Server.hs:171:26: warning: [-Wname-shadowing]
    This binding for ‘path’ shadows the existing binding
      imported from ‘Snap.Core’ at src/Foreign/JavaScript/Server.hs:28:1-54
      (and originally defined in ‘Snap.Internal.Core’)
    |
171 | loadFile server mimetype path = do
    |                          ^^^^

src/Foreign/JavaScript/Server.hs:177:22: warning: [-Wname-shadowing]
    This binding for ‘path’ shadows the existing binding
      imported from ‘Snap.Core’ at src/Foreign/JavaScript/Server.hs:28:1-54
      (and originally defined in ‘Snap.Internal.Core’)
    |
177 | loadDirectory server path = do
    |                      ^^^^
[ 6 of 29] Compiling Foreign.JavaScript.CallBuffer ( src/Foreign/JavaScript/CallBuffer.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/CallBuffer.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/CallBuffer.dyn_o )

src/Foreign/JavaScript/CallBuffer.hs:4:1: warning: [-Wunused-imports]
    The import of ‘Control.Concurrent’ is redundant
      except perhaps to import instances from ‘Control.Concurrent’
    To import instances alone, use: import Control.Concurrent()
  |
4 | import Control.Concurrent
  | ^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/CallBuffer.hs:20:19: warning: [-Wunused-matches]
    Defined but not used: ‘w’
   |
20 | getCallBufferMode w@Window{..} = atomically $ readTVar wCallBufferMode
   |                   ^

src/Foreign/JavaScript/CallBuffer.hs:29:27: warning: [-Wunused-matches]
    Defined but not used: ‘w’
   |
29 | flushCallBufferWithAtomic w@Window{..} action = do
   |                           ^

src/Foreign/JavaScript/CallBuffer.hs:42:15: warning: [-Wunused-matches]
    Defined but not used: ‘w’
   |
42 | bufferRunEval w@Window{..} code = do
   |               ^

src/Foreign/JavaScript/CallBuffer.hs:54:14: warning: [-Wname-shadowing]
    This binding for ‘code’ shadows the existing binding
      bound at src/Foreign/JavaScript/CallBuffer.hs:42:28
   |
54 |         Just code -> runEval code
   |              ^^^^
[ 7 of 29] Compiling Foreign.JavaScript.EventLoop ( src/Foreign/JavaScript/EventLoop.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/EventLoop.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/EventLoop.dyn_o )

src/Foreign/JavaScript/EventLoop.hs:9:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
  |
9 | import           Control.Applicative
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/EventLoop.hs:18:1: warning: [-Wunused-imports]
    The import of ‘Data.IORef’ is redundant
      except perhaps to import instances from ‘Data.IORef’
    To import instances alone, use: import Data.IORef()
   |
18 | import           Data.IORef
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/EventLoop.hs:19:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Map’ is redundant
      except perhaps to import instances from ‘Data.Map’
    To import instances alone, use: import Data.Map()
   |
19 | import qualified Data.Map                 as Map
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/EventLoop.hs:21:1: warning: [-Wunused-imports]
    The qualified import of ‘System.Mem’ is redundant
      except perhaps to import instances from ‘System.Mem’
    To import instances alone, use: import System.Mem()
   |
21 | import qualified System.Mem
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/EventLoop.hs:38:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      handleEvent :: Window -> (Coupon, JSON.Value) -> IO ()
   |
38 | handleEvent w@(Window{..}) (name, args) = do
   | ^^^^^^^^^^^

src/Foreign/JavaScript/EventLoop.hs:38:13: warning: [-Wunused-matches]
    Defined but not used: ‘w’
   |
38 | handleEvent w@(Window{..}) (name, args) = do
   |             ^

src/Foreign/JavaScript/EventLoop.hs:42:40: warning: [-Wname-shadowing]
    This binding for ‘f’ shadows the existing binding
      bound at src/Foreign/JavaScript/EventLoop.hs:42:14
   |
42 |         Just f  -> withRemotePtr f (\_ f -> f args)
   |                                        ^

src/Foreign/JavaScript/EventLoop.hs:50:11: warning: [-Wname-shadowing]
    This binding for ‘init’ shadows the existing binding
      imported from ‘Prelude’ at src/Foreign/JavaScript/EventLoop.hs:3:8-35
      (and originally defined in ‘GHC.List’)
   |
50 | eventLoop init server info comm = void $ do
   |           ^^^^

src/Foreign/JavaScript/EventLoop.hs:108:13: warning: [-Wincomplete-patterns]
    Pattern match(es) are non-exhaustive
    In a case alternative:
        Patterns of type ‘ClientMsg’ not matched: Quit
    |
108 |             case msg of
    |             ^^^^^^^^^^^...

src/Foreign/JavaScript/EventLoop.hs:121:26: warning: [-Wname-shadowing]
    This binding for ‘ref’ shadows the existing binding
      bound at src/Foreign/JavaScript/EventLoop.hs:115:13
    |
121 |                     Just ref -> do
    |                          ^^^

src/Foreign/JavaScript/EventLoop.hs:178:12: warning: [-Wunused-matches]
    Defined but not used: ‘w’
    |
178 | newHandler w@(Window{..}) handler = do
    |            ^

src/Foreign/JavaScript/EventLoop.hs:182:5: warning: [-Wincomplete-patterns]
    Pattern match(es) are non-exhaustive
    In an equation for ‘fromSuccess’:
        Patterns of type ‘JSON.Result a’ not matched: JSON.Error _
    |
182 |     fromSuccess (JSON.Success x) = x
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/EventLoop.hs:192:9: warning: [-Wincomplete-uni-patterns]
    Pattern match(es) are non-exhaustive
    In a pattern binding:
        Patterns of type ‘JSON.Result Coupon’ not matched: JSON.Error _
    |
192 |     let JSON.Success coupon = JSON.fromJSON js
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ 8 of 29] Compiling Foreign.JavaScript.Marshal ( src/Foreign/JavaScript/Marshal.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/Marshal.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript/Marshal.dyn_o )

src/Foreign/JavaScript/Marshal.hs:22:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Aeson.Types’ is redundant
      except perhaps to import instances from ‘Data.Aeson.Types’
    To import instances alone, use: import Data.Aeson.Types()
   |
22 | import qualified Data.Aeson.Types       as JSON
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/Marshal.hs:23:1: warning: [-Wunused-imports]
    The import of ‘Data.Functor’ is redundant
      except perhaps to import instances from ‘Data.Functor’
    To import instances alone, use: import Data.Functor()
   |
23 | import           Data.Functor                     ((<$>))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/Marshal.hs:51:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      jsCode :: String -> IO JSCode
   |
51 | jsCode = return . JSCode
   | ^^^^^^

src/Foreign/JavaScript/Marshal.hs:96:5: warning: [-Wincomplete-patterns]
    Pattern match(es) are non-exhaustive
    In an equation for ‘fromSuccessIO’:
        Patterns of type ‘Result a’ not matched: Error _
   |
96 |     fromSuccessIO (JSON.Success a) = return a
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript/Marshal.hs:118:22: warning: [-Wincomplete-uni-patterns]
    Pattern match(es) are non-exhaustive
    In a lambda abstraction:
        Patterns of type ‘Window’, ‘Value’ not matched:
            (Window _ _ _ _ _ _ _ _ _ _ _ _) (Object _)
            (Window _ _ _ _ _ _ _ _ _ _ _ _) (String _)
            (Window _ _ _ _ _ _ _ _ _ _ _ _) (Number _)
            (Window _ _ _ _ _ _ _ _ _ _ _ _) (Bool _)
            ...
    |
118 |         , marshal  = \w (JSON.Array vs) -> do
    |                      ^^^^^^^^^^^^^^^^^^^^^^^^...

src/Foreign/JavaScript/Marshal.hs:195:1: warning: [-Wunused-top-binds]
    Defined but not used: ‘testFFI’
    |
195 | testFFI = ffi "$(%1).prop('checked',%2)"
    | ^^^^^^^

src/Foreign/JavaScript/Marshal.hs:208:16: warning: [-Wincomplete-uni-patterns]
    Pattern match(es) are non-exhaustive
    In a lambda abstraction:
        Patterns of type ‘Window’, ‘[Value]’ not matched:
            (Window _ _ _ _ _ _ _ _ _ _ _ _) []
    |
208 |     handle f = \w (a:as) -> do
    |                ^^^^^^^^^^^^^^^...
[ 9 of 29] Compiling Foreign.JavaScript ( src/Foreign/JavaScript.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Foreign/JavaScript.dyn_o )

src/Foreign/JavaScript.hs:32:1: warning: [-Wunused-imports]
    The import of ‘Control.Concurrent.STM’ is redundant
      except perhaps to import instances from ‘Control.Concurrent.STM’
    To import instances alone, use: import Control.Concurrent.STM()
   |
32 | import           Control.Concurrent.STM       as STM
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript.hs:33:1: warning: [-Wunused-imports]
    The import of ‘Control.Monad’ is redundant
      except perhaps to import instances from ‘Control.Monad’
    To import instances alone, use: import Control.Monad()
   |
33 | import           Control.Monad                           (unless)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript.hs:34:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Aeson’ is redundant
      except perhaps to import instances from ‘Data.Aeson’
    To import instances alone, use: import Data.Aeson()
   |
34 | import qualified Data.Aeson                   as JSON
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Foreign/JavaScript.hs:50:14: warning: [-Wname-shadowing]
    This binding for ‘init’ shadows the existing binding
      imported from ‘Prelude’ at src/Foreign/JavaScript.hs:2:8-25
      (and originally defined in ‘GHC.List’)
   |
50 | serve config init = httpComm config $ eventLoop $ \w -> do
   |              ^^^^
[10 of 29] Compiling Paths_threepenny_gui ( /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/autogen/Paths_threepenny_gui.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Paths_threepenny_gui.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Paths_threepenny_gui.dyn_o )
[11 of 29] Compiling Reactive.Threepenny.Memo ( src/Reactive/Threepenny/Memo.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Reactive/Threepenny/Memo.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Reactive/Threepenny/Memo.dyn_o )

src/Reactive/Threepenny/Memo.hs:6:1: warning: [-Wunused-imports]
    The import of ‘Control.Monad’ is redundant
      except perhaps to import instances from ‘Control.Monad’
    To import instances alone, use: import Control.Monad()
  |
6 | import Control.Monad
  | ^^^^^^^^^^^^^^^^^^^^

src/Reactive/Threepenny/Memo.hs:7:1: warning: [-Wunused-imports]
    The import of ‘Data.Functor’ is redundant
      except perhaps to import instances from ‘Data.Functor’
    To import instances alone, use: import Data.Functor()
  |
7 | import Data.Functor
  | ^^^^^^^^^^^^^^^^^^^

src/Reactive/Threepenny/Memo.hs:20:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: fromPure :: a -> Memo a
   |
20 | fromPure = Const
   | ^^^^^^^^
[12 of 29] Compiling Reactive.Threepenny.Types ( src/Reactive/Threepenny/Types.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Reactive/Threepenny/Types.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Reactive/Threepenny/Types.dyn_o )
[13 of 29] Compiling Reactive.Threepenny.Monads ( src/Reactive/Threepenny/Monads.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Reactive/Threepenny/Monads.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Reactive/Threepenny/Monads.dyn_o )
[14 of 29] Compiling Reactive.Threepenny.PulseLatch ( src/Reactive/Threepenny/PulseLatch.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Reactive/Threepenny/PulseLatch.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Reactive/Threepenny/PulseLatch.dyn_o )

src/Reactive/Threepenny/PulseLatch.hs:12:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
   |
12 | import Control.Applicative
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Reactive/Threepenny/PulseLatch.hs:18:1: warning: [-Wunused-imports]
    The import of ‘Data.Monoid’ is redundant
      except perhaps to import instances from ‘Data.Monoid’
    To import instances alone, use: import Data.Monoid()
   |
18 | import Data.Monoid (Endo(..))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Reactive/Threepenny/PulseLatch.hs:20:1: warning: [-Wunused-imports]
    The import of ‘Data.Hashable’ is redundant
      except perhaps to import instances from ‘Data.Hashable’
    To import instances alone, use: import Data.Hashable()
   |
20 | import           Data.Hashable
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Reactive/Threepenny/PulseLatch.hs:28:1: warning: [-Wunused-top-binds]
    Defined but not used: type constructor or class ‘Map’
   |
28 | type Map = Map.HashMap
   | ^^^^^^^^^^^^^^^^^^^^^^

src/Reactive/Threepenny/PulseLatch.hs:120:5: warning: [-Wname-shadowing]
    This binding for ‘traverse’ shadows the existing binding
      imported from ‘Prelude’ at src/Reactive/Threepenny/PulseLatch.hs:2:8-37
      (and originally defined in ‘Data.Traversable’)
    |
120 |     traverse Nothing  = return Nothing
    |     ^^^^^^^^

src/Reactive/Threepenny/PulseLatch.hs:188:1: warning: [-Wunused-top-binds]
    Defined but not used: ‘test’
    |
188 | test = do
    | ^^^^

src/Reactive/Threepenny/PulseLatch.hs:198:1: warning: [-Wunused-top-binds]
    Defined but not used: ‘test_recursion1’
    |
198 | test_recursion1 = mdo
    | ^^^^^^^^^^^^^^^
[15 of 29] Compiling Reactive.Threepenny ( src/Reactive/Threepenny.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Reactive/Threepenny.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Reactive/Threepenny.dyn_o )

src/Reactive/Threepenny.hs:58:1: warning: [-Wunused-top-binds]
    Defined but not used: type constructor or class ‘Map’
   |
58 | type Map   = Map.Map
   | ^^^^^^^^^^^^^^^^^^^^

src/Reactive/Threepenny.hs:82:44: warning: [-Wunused-top-binds]
    Defined but not used: ‘changes’
   |
82 | data    Behavior a = B { latch :: Latch a, changes :: Event () }
   |                                            ^^^^^^^

src/Reactive/Threepenny.hs:107:16: warning: [-Wname-shadowing]
    This binding for ‘init’ shadows the existing binding
      imported from ‘Prelude’ at src/Reactive/Threepenny.hs:2:8-26
      (and originally defined in ‘GHC.List’)
    |
107 | newEventsNamed init = do
    |                ^^^^

src/Reactive/Threepenny.hs:168:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      filterJust :: Event (Maybe a) -> Event a
    |
168 | filterJust e = E $ liftMemo1 Prim.filterJustP (unE e)
    | ^^^^^^^^^^

src/Reactive/Threepenny.hs:311:22: warning: [-Wunused-matches]
    Defined but not used: ‘b’
    |
311 |     fromLeft  (Right b) = Nothing
    |                      ^

src/Reactive/Threepenny.hs:312:22: warning: [-Wunused-matches]
    Defined but not used: ‘a’
    |
312 |     fromRight (Left  a) = Nothing
    |                      ^

src/Reactive/Threepenny.hs:371:22: warning: [-Wname-shadowing]
    This binding for ‘x’ shadows the existing binding
      bound at src/Reactive/Threepenny.hs:369:5
    |
371 |     e = unionWith (\(x,_) (_,y) -> (x,y)) x y
    |                      ^

src/Reactive/Threepenny.hs:371:30: warning: [-Wname-shadowing]
    This binding for ‘y’ shadows the existing binding
      bound at src/Reactive/Threepenny.hs:370:5
    |
371 |     e = unionWith (\(x,_) (_,y) -> (x,y)) x y
    |                              ^

src/Reactive/Threepenny.hs:378:1: warning: [-Wunused-top-binds]
    Defined but not used: ‘test’
    |
378 | test = do
    | ^^^^

src/Reactive/Threepenny.hs:386:1: warning: [-Wunused-top-binds]
    Defined but not used: ‘test_recursion1’
    |
386 | test_recursion1 = mdo
    | ^^^^^^^^^^^^^^^
[16 of 29] Compiling Graphics.UI.Threepenny.Internal ( src/Graphics/UI/Threepenny/Internal.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Internal.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Internal.dyn_o )

src/Graphics/UI/Threepenny/Internal.hs:24:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
   |
24 | import           Control.Applicative                   (Applicative(..))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/Internal.hs:60:17: warning: [-Wname-shadowing]
    This binding for ‘init’ shadows the existing binding
      imported from ‘Prelude’ at src/Graphics/UI/Threepenny/Internal.hs:2:8-38
      (and originally defined in ‘GHC.List’)
   |
60 | startGUI config init = JS.serve config $ \w -> do
   |                 ^^^^

src/Graphics/UI/Threepenny/Internal.hs:62:6: warning: [-Wname-shadowing]
    This binding for ‘eDisconnect’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Internal.hs:48:7
   |
62 |     (eDisconnect, handleDisconnect) <- RB.newEvent
   |      ^^^^^^^^^^^

src/Graphics/UI/Threepenny/Internal.hs:66:5: warning: [-Wname-shadowing]
    This binding for ‘wEvents’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Internal.hs:49:7
   |
66 |     wEvents   <- Foreign.newVendor
   |     ^^^^^^^

src/Graphics/UI/Threepenny/Internal.hs:67:5: warning: [-Wname-shadowing]
    This binding for ‘wChildren’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Internal.hs:51:7
   |
67 |     wChildren <- Foreign.newVendor
   |     ^^^^^^^^^

src/Graphics/UI/Threepenny/Internal.hs:122:16: warning: [-Wunused-matches]
    Defined but not used: ‘window’
    |
122 | getChildren el window@Window{ wChildren = wChildren } =
    |                ^^^^^^

src/Graphics/UI/Threepenny/Internal.hs:122:43: warning: [-Wname-shadowing]
    This binding for ‘wChildren’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Internal.hs:51:7
    |
122 | getChildren el window@Window{ wChildren = wChildren } =
    |                                           ^^^^^^^^^

src/Graphics/UI/Threepenny/Internal.hs:156:46: warning: [-Wname-shadowing]
    This binding for ‘wEvents’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Internal.hs:49:7
    |
156 | addEvents el Window{ jsWindow = w, wEvents = wEvents } = do
    |                                              ^^^^^^^

src/Graphics/UI/Threepenny/Internal.hs:176:39: warning: [-Wname-shadowing]
    This binding for ‘wEvents’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Internal.hs:49:7
    |
176 | getEvents el window@Window{ wEvents = wEvents } = do
    |                                       ^^^^^^^

src/Graphics/UI/Threepenny/Internal.hs:190:24: warning: [-Wincomplete-uni-patterns]
    Pattern match(es) are non-exhaustive
    In a pattern binding:
        Patterns of type ‘JSON.Result a’ not matched: JSON.Error _
    |
190 | unsafeFromJSON x = let JSON.Success y = JSON.fromJSON x in y
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[17 of 29] Compiling Graphics.UI.Threepenny.Core ( src/Graphics/UI/Threepenny/Core.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Core.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Core.dyn_o )

src/Graphics/UI/Threepenny/Core.hs:121:5: warning: [-Wname-shadowing]
    This binding for ‘set’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:317:1
    |
121 |     set xs x = do
    |     ^^^

src/Graphics/UI/Threepenny/Core.hs:145:5: warning: [-Wname-shadowing]
    This binding for ‘get’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:335:1
    |
145 |     get   el = callFunction $ ffi "$(%1).val()" el
    |     ^^^

src/Graphics/UI/Threepenny/Core.hs:146:5: warning: [-Wname-shadowing]
    This binding for ‘set’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:317:1
    |
146 |     set v el = runFunction  $ ffi "$(%1).val(%2)" el v
    |     ^^^

src/Graphics/UI/Threepenny/Core.hs:178:18: warning: [-Wname-shadowing]
    This binding for ‘id’ shadows the existing binding
      imported from ‘Prelude’ at src/Graphics/UI/Threepenny/Core.hs:2:8-34
      (and originally defined in ‘GHC.Base’)
    |
178 | getElementById _ id =
    |                  ^^

src/Graphics/UI/Threepenny/Core.hs:179:17: warning: [-Wunused-matches]
    Defined but not used: ‘e’
    |
179 |     E.handle (\(e :: JS.JavaScriptException) -> return Nothing) $
    |                 ^

src/Graphics/UI/Threepenny/Core.hs:187:24: warning: [-Wunused-matches]
    Defined but not used: ‘window’
    |
187 | getElementsByClassName window s =
    |                        ^^^^^^

src/Graphics/UI/Threepenny/Core.hs:225:13: warning: [-Wname-shadowing]
    This binding for ‘row’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:195:1
    |
225 |             row <- forM row0 $ \entry ->
    |             ^^^

src/Graphics/UI/Threepenny/Core.hs:309:19: warning: [-Wname-shadowing]
    This binding for ‘attr’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:132:1
    |
309 | bimapAttr from to attr = attr
    |                   ^^^^

src/Graphics/UI/Threepenny/Core.hs:317:5: warning: [-Wname-shadowing]
    This binding for ‘attr’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:132:1
    |
317 | set attr i mx = do { x <- mx; set' attr i x; return x; }
    |     ^^^^

src/Graphics/UI/Threepenny/Core.hs:324:6: warning: [-Wname-shadowing]
    This binding for ‘attr’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:132:1
    |
324 | sink attr bi mx = do
    |      ^^^^

src/Graphics/UI/Threepenny/Core.hs:330:34: warning: [-Wname-shadowing]
    This binding for ‘i’ shadows the existing binding
      bound at src/Graphics/UI/Threepenny/Core.hs:328:9
    |
330 |         Reactive.onChange bi  $ \i -> runUI window $ set' attr i x
    |                                  ^

src/Graphics/UI/Threepenny/Core.hs:335:5: warning: [-Wname-shadowing]
    This binding for ‘attr’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:132:1
    |
335 | get attr = get' attr
    |     ^^^^

src/Graphics/UI/Threepenny/Core.hs:342:17: warning: [-Wname-shadowing]
    This binding for ‘get’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:335:1
    |
342 | mkReadWriteAttr get set = ReadWriteAttr { get' = get, set' = set }
    |                 ^^^

src/Graphics/UI/Threepenny/Core.hs:342:21: warning: [-Wname-shadowing]
    This binding for ‘set’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:317:1
    |
342 | mkReadWriteAttr get set = ReadWriteAttr { get' = get, set' = set }
    |                     ^^^

src/Graphics/UI/Threepenny/Core.hs:346:12: warning: [-Wname-shadowing]
    This binding for ‘get’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:335:1
    |
346 | mkReadAttr get = mkReadWriteAttr get (\_ _ -> return ())
    |            ^^^

src/Graphics/UI/Threepenny/Core.hs:350:13: warning: [-Wname-shadowing]
    This binding for ‘set’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:317:1
    |
350 | mkWriteAttr set = mkReadWriteAttr (\_ -> return ()) set
    |             ^^^

src/Graphics/UI/Threepenny/Core.hs:356:5: warning: [-Wname-shadowing]
    This binding for ‘set’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:317:1
    |
356 |     set v el = runFunction $ ffi "$(%1).prop(%2,%3)" el name (to v)
    |     ^^^

src/Graphics/UI/Threepenny/Core.hs:357:5: warning: [-Wname-shadowing]
    This binding for ‘get’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:335:1
    |
357 |     get   el = fmap from $ callFunction $ ffi "$(%1).prop(%2)" el name
    |     ^^^

src/Graphics/UI/Threepenny/Core.hs:363:5: warning: [-Wname-shadowing]
    This binding for ‘set’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:317:1
    |
363 |     set v el = runFunction  $ ffi ("%1." ++ name ++ " = %2") el v    
    |     ^^^

src/Graphics/UI/Threepenny/Core.hs:364:5: warning: [-Wname-shadowing]
    This binding for ‘get’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Core.hs:335:1
    |
364 |     get   el = callFunction $ ffi ("%1." ++ name) el
    |     ^^^
[18 of 29] Compiling Graphics.UI.Threepenny.Timer ( src/Graphics/UI/Threepenny/Timer.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Timer.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Timer.dyn_o )

src/Graphics/UI/Threepenny/Timer.hs:16:38: warning: [-Wunused-imports]
    The import of ‘void’ from module ‘Control.Monad’ is redundant
   |
16 | import Control.Monad (when, forever, void)
   |                                      ^^^^

src/Graphics/UI/Threepenny/Timer.hs:37:5: warning: [-Wunused-do-bind]
    A do-notation statement discarded a result of type ‘ThreadId’
    Suppress this warning by saying
      ‘_ <- forkIO
              $ forever
                  $ do atomically
                         $ do b <- readTVar tvRunning
                              ....
                       wait <- atomically $ readTVar tvInterval
                       fire ()
                       ....’
   |
37 |     forkIO $ forever $ do
   |     ^^^^^^^^^^^^^^^^^^^^^...
[19 of 29] Compiling Graphics.UI.Threepenny.SVG.Elements ( src/Graphics/UI/Threepenny/SVG/Elements.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/SVG/Elements.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/SVG/Elements.dyn_o )

src/Graphics/UI/Threepenny/SVG/Elements.hs:42:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      tag :: GHC.Base.String
             -> Graphics.UI.Threepenny.Internal.UI
                  Graphics.UI.Threepenny.Internal.Element
   |
42 | tag    = mkElementNamespace (Just "http://www.w3.org/2000/svg")
   | ^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:43:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      itag :: GHC.Base.String
              -> Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
   |
43 | itag   = tag
   | ^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:45:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      a :: Graphics.UI.Threepenny.Internal.UI
             Graphics.UI.Threepenny.Internal.Element
   |
45 | a                     =  tag "a"
   | ^

src/Graphics/UI/Threepenny/SVG/Elements.hs:46:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      altGlyph :: Graphics.UI.Threepenny.Internal.UI
                    Graphics.UI.Threepenny.Internal.Element
   |
46 | altGlyph              =  tag "altGlyph"
   | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:47:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      altGlyphDef :: Graphics.UI.Threepenny.Internal.UI
                       Graphics.UI.Threepenny.Internal.Element
   |
47 | altGlyphDef           = itag "altGlyphDef"
   | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:48:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      altGlyphItem :: Graphics.UI.Threepenny.Internal.UI
                        Graphics.UI.Threepenny.Internal.Element
   |
48 | altGlyphItem          = itag "altGlyphItem"
   | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:49:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      animate :: Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
   |
49 | animate               =  tag "animate"
   | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:50:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      animateColor :: Graphics.UI.Threepenny.Internal.UI
                        Graphics.UI.Threepenny.Internal.Element
   |
50 | animateColor          =  tag "animateColor"
   | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:51:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      animateMotion :: Graphics.UI.Threepenny.Internal.UI
                         Graphics.UI.Threepenny.Internal.Element
   |
51 | animateMotion         =  tag "animateMotion"
   | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:52:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      animateTransform :: Graphics.UI.Threepenny.Internal.UI
                            Graphics.UI.Threepenny.Internal.Element
   |
52 | animateTransform      = itag "animateTransform"
   | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:53:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      circle :: Graphics.UI.Threepenny.Internal.UI
                  Graphics.UI.Threepenny.Internal.Element
   |
53 | circle                = itag "circle"
   | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:54:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      clipPath :: Graphics.UI.Threepenny.Internal.UI
                    Graphics.UI.Threepenny.Internal.Element
   |
54 | clipPath              =  tag "clipPath"
   | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:55:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      colorProfile :: Graphics.UI.Threepenny.Internal.UI
                        Graphics.UI.Threepenny.Internal.Element
   |
55 | colorProfile          = itag "colorProfile"
   | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:56:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      cursor :: Graphics.UI.Threepenny.Internal.UI
                  Graphics.UI.Threepenny.Internal.Element
   |
56 | cursor                = itag "cursor"
   | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:57:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      defs :: Graphics.UI.Threepenny.Internal.UI
                Graphics.UI.Threepenny.Internal.Element
   |
57 | defs                  =  tag "defs"
   | ^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:58:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      desc :: Graphics.UI.Threepenny.Internal.UI
                Graphics.UI.Threepenny.Internal.Element
   |
58 | desc                  = itag "desc"
   | ^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:59:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      ellipse :: Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
   |
59 | ellipse               =  tag "ellipse"
   | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:60:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feBlend :: Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
   |
60 | feBlend               =  tag "feBlend"
   | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:61:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feColorMatrix :: Graphics.UI.Threepenny.Internal.UI
                         Graphics.UI.Threepenny.Internal.Element
   |
61 | feColorMatrix         =  tag "feColorMatrix"
   | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:62:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feComponentTransfer :: Graphics.UI.Threepenny.Internal.UI
                               Graphics.UI.Threepenny.Internal.Element
   |
62 | feComponentTransfer   =  tag "feComponentTransfer"
   | ^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:63:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feComposite :: Graphics.UI.Threepenny.Internal.UI
                       Graphics.UI.Threepenny.Internal.Element
   |
63 | feComposite           =  tag "feComposite"
   | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:64:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feConvolveMatrix :: Graphics.UI.Threepenny.Internal.UI
                            Graphics.UI.Threepenny.Internal.Element
   |
64 | feConvolveMatrix      =  tag "feConvolveMatrix"
   | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:65:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feDiffuseLighting :: Graphics.UI.Threepenny.Internal.UI
                             Graphics.UI.Threepenny.Internal.Element
   |
65 | feDiffuseLighting     =  tag "feDiffuseLighting"
   | ^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:66:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feDisplacementMap :: Graphics.UI.Threepenny.Internal.UI
                             Graphics.UI.Threepenny.Internal.Element
   |
66 | feDisplacementMap     =  tag "feDisplacementMap"
   | ^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:67:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feDistantLight :: Graphics.UI.Threepenny.Internal.UI
                          Graphics.UI.Threepenny.Internal.Element
   |
67 | feDistantLight        = itag "feDistantLight"
   | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:68:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feFlood :: Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
   |
68 | feFlood               =  tag "feFlood"
   | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:69:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feFuncA :: Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
   |
69 | feFuncA               = itag "feFuncA"
   | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:70:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feFuncB :: Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
   |
70 | feFuncB               = itag "feFuncB"
   | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:71:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feFuncG :: Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
   |
71 | feFuncG               = itag "feFuncG"
   | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:72:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feFuncR :: Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
   |
72 | feFuncR               = itag "feFuncR"
   | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:73:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feGaussianBlur :: Graphics.UI.Threepenny.Internal.UI
                          Graphics.UI.Threepenny.Internal.Element
   |
73 | feGaussianBlur        =  tag "feGaussianBlur"
   | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:74:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feImage :: Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
   |
74 | feImage               =  tag "feImage"
   | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:75:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feMerge :: Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
   |
75 | feMerge               =  tag "feMerge"
   | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:76:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feMergeNode :: Graphics.UI.Threepenny.Internal.UI
                       Graphics.UI.Threepenny.Internal.Element
   |
76 | feMergeNode           = itag "feMergeNode"
   | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:77:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feMorphology :: Graphics.UI.Threepenny.Internal.UI
                        Graphics.UI.Threepenny.Internal.Element
   |
77 | feMorphology          =  tag "feMorphology"
   | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:78:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feOffset :: Graphics.UI.Threepenny.Internal.UI
                    Graphics.UI.Threepenny.Internal.Element
   |
78 | feOffset              =  tag "feOffset"
   | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:79:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      fePointLight :: Graphics.UI.Threepenny.Internal.UI
                        Graphics.UI.Threepenny.Internal.Element
   |
79 | fePointLight          = itag "fePointLight"
   | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:80:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feSpecularLighting :: Graphics.UI.Threepenny.Internal.UI
                              Graphics.UI.Threepenny.Internal.Element
   |
80 | feSpecularLighting    =  tag "feSpecularLighting"
   | ^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:81:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feSpotLight :: Graphics.UI.Threepenny.Internal.UI
                       Graphics.UI.Threepenny.Internal.Element
   |
81 | feSpotLight           = itag "feSpotLight"
   | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:82:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feTile :: Graphics.UI.Threepenny.Internal.UI
                  Graphics.UI.Threepenny.Internal.Element
   |
82 | feTile                =  tag "feTile"
   | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:83:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      feTurbulence :: Graphics.UI.Threepenny.Internal.UI
                        Graphics.UI.Threepenny.Internal.Element
   |
83 | feTurbulence          =  tag "feTurbulence"
   | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:84:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      filter :: Graphics.UI.Threepenny.Internal.UI
                  Graphics.UI.Threepenny.Internal.Element
   |
84 | filter                =  tag "filter"
   | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:85:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font :: Graphics.UI.Threepenny.Internal.UI
                Graphics.UI.Threepenny.Internal.Element
   |
85 | font                  =  tag "font"
   | ^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:86:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font_face :: Graphics.UI.Threepenny.Internal.UI
                     Graphics.UI.Threepenny.Internal.Element
   |
86 | font_face             = itag "font-face"
   | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:87:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font_face_format :: Graphics.UI.Threepenny.Internal.UI
                            Graphics.UI.Threepenny.Internal.Element
   |
87 | font_face_format      = itag "font-face-format"
   | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:88:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font_face_name :: Graphics.UI.Threepenny.Internal.UI
                          Graphics.UI.Threepenny.Internal.Element
   |
88 | font_face_name        = itag "font-face-name"
   | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:89:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font_face_srv :: Graphics.UI.Threepenny.Internal.UI
                         Graphics.UI.Threepenny.Internal.Element
   |
89 | font_face_srv         = itag "font-face-src"
   | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:90:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font_face_uri :: Graphics.UI.Threepenny.Internal.UI
                         Graphics.UI.Threepenny.Internal.Element
   |
90 | font_face_uri         = itag "font-face-uri"
   | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:91:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      foreignObject :: Graphics.UI.Threepenny.Internal.UI
                         Graphics.UI.Threepenny.Internal.Element
   |
91 | foreignObject         =  tag "foreignObject"
   | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:92:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      g :: Graphics.UI.Threepenny.Internal.UI
             Graphics.UI.Threepenny.Internal.Element
   |
92 | g                     =  tag "g"
   | ^

src/Graphics/UI/Threepenny/SVG/Elements.hs:93:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      glyph :: Graphics.UI.Threepenny.Internal.UI
                 Graphics.UI.Threepenny.Internal.Element
   |
93 | glyph                 =  tag "glyph"
   | ^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:94:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      glyphRef :: Graphics.UI.Threepenny.Internal.UI
                    Graphics.UI.Threepenny.Internal.Element
   |
94 | glyphRef              =  tag "glyphRef"
   | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:95:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      hkern :: Graphics.UI.Threepenny.Internal.UI
                 Graphics.UI.Threepenny.Internal.Element
   |
95 | hkern                 = itag "hkern"
   | ^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:96:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      image :: Graphics.UI.Threepenny.Internal.UI
                 Graphics.UI.Threepenny.Internal.Element
   |
96 | image                 =  tag "image"
   | ^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:97:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      line :: Graphics.UI.Threepenny.Internal.UI
                Graphics.UI.Threepenny.Internal.Element
   |
97 | line                  =  tag "line"
   | ^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:98:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      linearGradient :: Graphics.UI.Threepenny.Internal.UI
                          Graphics.UI.Threepenny.Internal.Element
   |
98 | linearGradient        =  tag "linearGradient"
   | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:99:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      marker :: Graphics.UI.Threepenny.Internal.UI
                  Graphics.UI.Threepenny.Internal.Element
   |
99 | marker                =  tag "marker"
   | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:100:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      mask :: Graphics.UI.Threepenny.Internal.UI
                Graphics.UI.Threepenny.Internal.Element
    |
100 | mask                  =  tag "mask"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:101:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      metadata :: Graphics.UI.Threepenny.Internal.UI
                    Graphics.UI.Threepenny.Internal.Element
    |
101 | metadata              = itag "metadata"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:102:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      missing_glyph :: Graphics.UI.Threepenny.Internal.UI
                         Graphics.UI.Threepenny.Internal.Element
    |
102 | missing_glyph         =  tag "missing-glyph"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:103:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      mpath :: Graphics.UI.Threepenny.Internal.UI
                 Graphics.UI.Threepenny.Internal.Element
    |
103 | mpath                 = itag "mpath"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:104:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      path :: Graphics.UI.Threepenny.Internal.UI
                Graphics.UI.Threepenny.Internal.Element
    |
104 | path                  = itag "path"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:105:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      pattern :: Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
    |
105 | pattern               =  tag "pattern"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:106:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      polygon :: Graphics.UI.Threepenny.Internal.UI
                   Graphics.UI.Threepenny.Internal.Element
    |
106 | polygon               =  tag "polygon"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:107:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      polyline :: Graphics.UI.Threepenny.Internal.UI
                    Graphics.UI.Threepenny.Internal.Element
    |
107 | polyline              =  tag "polyline"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:108:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      radialGradient :: Graphics.UI.Threepenny.Internal.UI
                          Graphics.UI.Threepenny.Internal.Element
    |
108 | radialGradient        =  tag "radialGradient"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:109:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      rect :: Graphics.UI.Threepenny.Internal.UI
                Graphics.UI.Threepenny.Internal.Element
    |
109 | rect                  =  tag "rect"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:110:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      script :: Graphics.UI.Threepenny.Internal.UI
                  Graphics.UI.Threepenny.Internal.Element
    |
110 | script                = itag "script"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:111:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      set :: Graphics.UI.Threepenny.Internal.UI
               Graphics.UI.Threepenny.Internal.Element
    |
111 | set                   = itag "set"
    | ^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:112:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stop :: Graphics.UI.Threepenny.Internal.UI
                Graphics.UI.Threepenny.Internal.Element
    |
112 | stop                  =  tag "stop"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:113:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      style :: Graphics.UI.Threepenny.Internal.UI
                 Graphics.UI.Threepenny.Internal.Element
    |
113 | style                 = itag "style"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:114:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      svg :: Graphics.UI.Threepenny.Internal.UI
               Graphics.UI.Threepenny.Internal.Element
    |
114 | svg                   =  tag "svg"
    | ^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:115:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      switch :: Graphics.UI.Threepenny.Internal.UI
                  Graphics.UI.Threepenny.Internal.Element
    |
115 | switch                =  tag "switch"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:116:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      symbol :: Graphics.UI.Threepenny.Internal.UI
                  Graphics.UI.Threepenny.Internal.Element
    |
116 | symbol                =  tag "symbol"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:117:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      text :: Graphics.UI.Threepenny.Internal.UI
                Graphics.UI.Threepenny.Internal.Element
    |
117 | text                  =  tag "text"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:118:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      textPath :: Graphics.UI.Threepenny.Internal.UI
                    Graphics.UI.Threepenny.Internal.Element
    |
118 | textPath              =  tag "textPath"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:119:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      title :: Graphics.UI.Threepenny.Internal.UI
                 Graphics.UI.Threepenny.Internal.Element
    |
119 | title                 = itag "title"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:120:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      tref :: Graphics.UI.Threepenny.Internal.UI
                Graphics.UI.Threepenny.Internal.Element
    |
120 | tref                  =  tag "tref"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:121:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      tspan :: Graphics.UI.Threepenny.Internal.UI
                 Graphics.UI.Threepenny.Internal.Element
    |
121 | tspan                 =  tag "tspan"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:122:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      use :: Graphics.UI.Threepenny.Internal.UI
               Graphics.UI.Threepenny.Internal.Element
    |
122 | use                   =  tag "use"
    | ^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:123:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      view :: Graphics.UI.Threepenny.Internal.UI
                Graphics.UI.Threepenny.Internal.Element
    |
123 | view                  = itag "view"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Elements.hs:124:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      vkern :: Graphics.UI.Threepenny.Internal.UI
                 Graphics.UI.Threepenny.Internal.Element
    |
124 | vkern                 = itag "vkern"
    | ^^^^^
[20 of 29] Compiling Graphics.UI.Threepenny.SVG.Attributes ( src/Graphics/UI/Threepenny/SVG/Attributes.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/SVG/Attributes.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/SVG/Attributes.dyn_o )

src/Graphics/UI/Threepenny/SVG/Attributes.hs:97:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      accent_height :: WriteAttr Element Float
   |
97 | accent_height                =  fltAttr "accent-height"
   | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:98:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      accumulate :: WriteAttr Element String
   |
98 | accumulate                   =  strAttr "accumulate"
   | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:99:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      additive :: WriteAttr Element String
   |
99 | additive                     =  strAttr "additive"
   | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:100:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      alignment_baseline :: WriteAttr Element String
    |
100 | alignment_baseline           =  strAttr "alignment-baseline"
    | ^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:101:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      alphabetic :: WriteAttr Element Float
    |
101 | alphabetic                   =  fltAttr "alphabetic"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:102:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      amplitude :: WriteAttr Element Float
    |
102 | amplitude                    =  fltAttr "amplitude"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:103:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      arabic_form :: WriteAttr Element String
    |
103 | arabic_form                  =  strAttr "arabic-form"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:104:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      ascent :: WriteAttr Element Float
    |
104 | ascent                       =  fltAttr "ascent"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:105:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      attributeName :: WriteAttr Element String
    |
105 | attributeName                =  strAttr "attributeName"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:106:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      attributeType :: WriteAttr Element String
    |
106 | attributeType                =  strAttr "attributeType"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:107:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      azimuth :: WriteAttr Element Float
    |
107 | azimuth                      =  fltAttr "azimuth"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:108:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      baseFrequency :: WriteAttr Element String
    |
108 | baseFrequency                =  strAttr "baseFrequency"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:109:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      baseProfile :: WriteAttr Element String
    |
109 | baseProfile                  =  strAttr "baseProfile"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:110:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      baseline_shift :: WriteAttr Element String
    |
110 | baseline_shift               =  strAttr "baseline-shift"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:111:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      bbox :: WriteAttr Element String
    |
111 | bbox                         =  strAttr "bbox"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:112:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      begin :: WriteAttr Element String
    |
112 | begin                        =  strAttr "begin"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:113:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      bias :: WriteAttr Element Float
    |
113 | bias                         =  fltAttr "bias"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:114:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      by :: WriteAttr Element Float
    |
114 | by                           =  fltAttr "by"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:115:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      calcMode :: WriteAttr Element String
    |
115 | calcMode                     =  strAttr "calcMode"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:116:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      cap_height :: WriteAttr Element Float
    |
116 | cap_height                   =  fltAttr "cap-height"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:117:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      class_ :: WriteAttr Element String
    |
117 | class_                       =  strAttr "class"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:118:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      clip :: WriteAttr Element String
    |
118 | clip                         =  strAttr "clip"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:119:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      clip_path :: WriteAttr Element String
    |
119 | clip_path                    =  strAttr "clip-path"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:120:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      clip_rule :: WriteAttr Element String
    |
120 | clip_rule                    =  strAttr "clip-rule"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:121:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      clipPathUnits :: WriteAttr Element String
    |
121 | clipPathUnits                =  strAttr "clipPathUnits"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:122:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      color :: WriteAttr Element String
    |
122 | color                        =  strAttr "color"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:123:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      color_interpolation :: WriteAttr Element String
    |
123 | color_interpolation          =  strAttr "color-interpolation"
    | ^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:124:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      color_interpolation_filters :: WriteAttr Element String
    |
124 | color_interpolation_filters  =  strAttr "color-interpolation-filters"
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:125:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      color_profile :: WriteAttr Element String
    |
125 | color_profile                =  strAttr "color-profile"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:126:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      color_rendering :: WriteAttr Element String
    |
126 | color_rendering              =  strAttr "color-rendering"
    | ^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:127:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      contentScriptType :: WriteAttr Element String
    |
127 | contentScriptType            =  strAttr "contentScriptType"
    | ^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:128:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      contentStyleType :: WriteAttr Element String
    |
128 | contentStyleType             =  strAttr "contentStyleType"
    | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:129:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      cursor :: WriteAttr Element String
    |
129 | cursor                       =  strAttr "cursor"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:130:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      cx :: WriteAttr Element String
    |
130 | cx                           =  strAttr "cx"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:131:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      cy :: WriteAttr Element String
    |
131 | cy                           =  strAttr "cy"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:132:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      d :: WriteAttr Element String
    |
132 | d                            =  strAttr "d"
    | ^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:133:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      descent :: WriteAttr Element Float
    |
133 | descent                      =  fltAttr "descent"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:134:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      diffuseConstant :: WriteAttr Element Float
    |
134 | diffuseConstant              =  fltAttr "diffuseConstant"
    | ^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:135:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      direction :: WriteAttr Element String
    |
135 | direction                    =  strAttr "direction"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:136:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      display :: WriteAttr Element String
    |
136 | display                      =  strAttr "display"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:137:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      divisor :: WriteAttr Element Float
    |
137 | divisor                      =  fltAttr "divisor"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:138:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      dominant_baseline :: WriteAttr Element String
    |
138 | dominant_baseline            =  strAttr "dominant-baseline"
    | ^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:139:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      dur :: WriteAttr Element String
    |
139 | dur                          =  strAttr "dur"
    | ^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:140:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      dx :: WriteAttr Element String
    |
140 | dx                           =  strAttr "dx"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:141:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      dy :: WriteAttr Element String
    |
141 | dy                           =  strAttr "dy"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:142:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      edgeMode :: WriteAttr Element String
    |
142 | edgeMode                     =  strAttr "edgeMode"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:143:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      elevation :: WriteAttr Element Float
    |
143 | elevation                    =  fltAttr "elevation"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:144:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      enable_background :: WriteAttr Element String
    |
144 | enable_background            =  strAttr "enable-background"
    | ^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:145:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      end :: WriteAttr Element String
    |
145 | end                          =  strAttr "end"
    | ^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:146:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      exponent :: WriteAttr Element Float
    |
146 | exponent                     =  fltAttr "exponent"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:147:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      externalResourcesRequired :: WriteAttr Element String
    |
147 | externalResourcesRequired    =  strAttr "externalResourcesRequired"
    | ^^^^^^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:148:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      fill :: WriteAttr Element String
    |
148 | fill                         =  strAttr "fill"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:149:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      fill_opacity :: WriteAttr Element String
    |
149 | fill_opacity                 =  strAttr "fill-opacity"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:150:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      fill_rule :: WriteAttr Element String
    |
150 | fill_rule                    =  strAttr "fill-rule"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:151:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      filter :: WriteAttr Element String
    |
151 | filter                       =  strAttr "filter"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:152:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      filterRes :: WriteAttr Element String
    |
152 | filterRes                    =  strAttr "filterRes"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:153:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      filterUnits :: WriteAttr Element String
    |
153 | filterUnits                  =  strAttr "filterUnits"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:154:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      flood_color :: WriteAttr Element String
    |
154 | flood_color                  =  strAttr "flood-color"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:155:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      flood_opacity :: WriteAttr Element String
    |
155 | flood_opacity                =  strAttr "flood-opacity"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:156:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font_family :: WriteAttr Element String
    |
156 | font_family                  =  strAttr "font-family"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:157:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font_size :: WriteAttr Element String
    |
157 | font_size                    =  strAttr "font-size"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:158:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font_size_adjust :: WriteAttr Element String
    |
158 | font_size_adjust             =  strAttr "font-size-adjust"
    | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:159:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font_stretch :: WriteAttr Element String
    |
159 | font_stretch                 =  strAttr "font-stretch"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:160:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font_style :: WriteAttr Element String
    |
160 | font_style                   =  strAttr "font-style"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:161:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font_variant :: WriteAttr Element String
    |
161 | font_variant                 =  strAttr "font-variant"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:162:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      font_weight :: WriteAttr Element String
    |
162 | font_weight                  =  strAttr "font-weight"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:163:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      format :: WriteAttr Element String
    |
163 | format                       =  strAttr "format"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:164:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      from :: WriteAttr Element Float
    |
164 | from                         =  fltAttr "from"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:165:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      fx :: WriteAttr Element String
    |
165 | fx                           =  strAttr "fx"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:166:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      fy :: WriteAttr Element String
    |
166 | fy                           =  strAttr "fy"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:167:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      g1 :: WriteAttr Element String
    |
167 | g1                           =  strAttr "g1"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:168:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      g2 :: WriteAttr Element String
    |
168 | g2                           =  strAttr "g2"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:169:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      glyph_name :: WriteAttr Element String
    |
169 | glyph_name                   =  strAttr "glyph-name"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:170:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      glyph_orientation_horizontal :: WriteAttr Element String
    |
170 | glyph_orientation_horizontal =  strAttr "glyph-orientation-horizontal"
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:171:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      glyph_orientation_vertical :: WriteAttr Element String
    |
171 | glyph_orientation_vertical   =  strAttr "glyph-orientation-vertical"
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:172:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      glyphRef :: WriteAttr Element String
    |
172 | glyphRef                     =  strAttr "glyphRef"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:173:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      gradientTransform :: WriteAttr Element String
    |
173 | gradientTransform            =  strAttr "gradientTransform"
    | ^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:174:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      gradientUnits :: WriteAttr Element String
    |
174 | gradientUnits                =  strAttr "gradientUnits"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:175:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      hanging :: WriteAttr Element Float
    |
175 | hanging                      =  fltAttr "hanging"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:176:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      height :: WriteAttr Element String
    |
176 | height                       =  strAttr "height"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:177:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      horiz_adv_x :: WriteAttr Element Float
    |
177 | horiz_adv_x                  =  fltAttr "horiz-adv-x"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:178:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      horiz_origin_x :: WriteAttr Element Float
    |
178 | horiz_origin_x               =  fltAttr "horiz-origin-x"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:179:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      horiz_origin_y :: WriteAttr Element Float
    |
179 | horiz_origin_y               =  fltAttr "horiz-origin-y"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:180:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      id :: WriteAttr Element String
    |
180 | id                           =  strAttr "id"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:181:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      ideographic :: WriteAttr Element Float
    |
181 | ideographic                  =  fltAttr "ideographic"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:182:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      image_rendering :: WriteAttr Element String
    |
182 | image_rendering              =  strAttr "image-rendering"
    | ^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:183:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      in_ :: WriteAttr Element String
    |
183 | in_                          =  strAttr "in"
    | ^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:184:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      in2 :: WriteAttr Element String
    |
184 | in2                          =  strAttr "in2"
    | ^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:185:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      intercept :: WriteAttr Element Float
    |
185 | intercept                    =  fltAttr "intercept"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:186:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      k :: WriteAttr Element Float
    |
186 | k                            =  fltAttr "k"
    | ^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:187:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      k1 :: WriteAttr Element Float
    |
187 | k1                           =  fltAttr "k1"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:188:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      k2 :: WriteAttr Element Float
    |
188 | k2                           =  fltAttr "k2"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:189:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      k3 :: WriteAttr Element Float
    |
189 | k3                           =  fltAttr "k3"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:190:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      k4 :: WriteAttr Element Float
    |
190 | k4                           =  fltAttr "k4"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:191:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      kernelMatrix :: WriteAttr Element String
    |
191 | kernelMatrix                 =  strAttr "kernelMatrix"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:192:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      kernelUnitLength :: WriteAttr Element String
    |
192 | kernelUnitLength             =  strAttr "kernelUnitLength"
    | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:193:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      kerning :: WriteAttr Element String
    |
193 | kerning                      =  strAttr "kerning"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:194:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      keyPoints :: WriteAttr Element String
    |
194 | keyPoints                    =  strAttr "keyPoints"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:195:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      keySplines :: WriteAttr Element String
    |
195 | keySplines                   =  strAttr "keySplines"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:196:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      keyTimes :: WriteAttr Element String
    |
196 | keyTimes                     =  strAttr "keyTimes"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:197:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      lang :: WriteAttr Element String
    |
197 | lang                         =  strAttr "lang"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:198:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      lengthAdjust :: WriteAttr Element String
    |
198 | lengthAdjust                 =  strAttr "lengthAdjust"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:199:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      letter_spacing :: WriteAttr Element String
    |
199 | letter_spacing               =  strAttr "letter-spacing"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:200:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      lighting_color :: WriteAttr Element String
    |
200 | lighting_color               =  strAttr "lighting-color"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:201:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      limitingConeAngle :: WriteAttr Element Float
    |
201 | limitingConeAngle            =  fltAttr "limitingConeAngle"
    | ^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:202:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      local :: WriteAttr Element String
    |
202 | local                        =  strAttr "local"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:203:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      marker_end :: WriteAttr Element String
    |
203 | marker_end                   =  strAttr "marker-end"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:204:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      marker_mid :: WriteAttr Element String
    |
204 | marker_mid                   =  strAttr "marker-mid"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:205:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      marker_start :: WriteAttr Element String
    |
205 | marker_start                 =  strAttr "marker-start"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:206:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      markerHeight :: WriteAttr Element String
    |
206 | markerHeight                 =  strAttr "markerHeight"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:207:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      markerUnits :: WriteAttr Element String
    |
207 | markerUnits                  =  strAttr "markerUnits"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:208:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      markerWidth :: WriteAttr Element String
    |
208 | markerWidth                  =  strAttr "markerWidth"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:209:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      mask :: WriteAttr Element String
    |
209 | mask                         =  strAttr "mask"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:210:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      maskContentUnits :: WriteAttr Element String
    |
210 | maskContentUnits             =  strAttr "maskContentUnits"
    | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:211:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      maskUnits :: WriteAttr Element String
    |
211 | maskUnits                    =  strAttr "maskUnits"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:212:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      mathematical :: WriteAttr Element Float
    |
212 | mathematical                 =  fltAttr "mathematical"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:213:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      max :: WriteAttr Element String
    |
213 | max                          =  strAttr "max"
    | ^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:214:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      media :: WriteAttr Element String
    |
214 | media                        =  strAttr "media"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:215:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      method :: WriteAttr Element String
    |
215 | method                       =  strAttr "method"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:216:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      min :: WriteAttr Element String
    |
216 | min                          =  strAttr "min"
    | ^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:217:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      mode :: WriteAttr Element String
    |
217 | mode                         =  strAttr "mode"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:218:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      name :: WriteAttr Element String
    |
218 | name                         =  strAttr "name"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:219:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      numOctaves :: WriteAttr Element Int
    |
219 | numOctaves                   =  intAttr "numOctaves"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:220:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      offset :: WriteAttr Element Float
    |
220 | offset                       =  fltAttr "offset"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:221:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onabort :: WriteAttr Element String
    |
221 | onabort                      =  strAttr "onabort"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:222:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onactivate :: WriteAttr Element String
    |
222 | onactivate                   =  strAttr "onactivate"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:223:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onbegin :: WriteAttr Element String
    |
223 | onbegin                      =  strAttr "onbegin"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:224:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onclick :: WriteAttr Element String
    |
224 | onclick                      =  strAttr "onclick"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:225:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onend :: WriteAttr Element String
    |
225 | onend                        =  strAttr "onend"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:226:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onerror :: WriteAttr Element String
    |
226 | onerror                      =  strAttr "onerror"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:227:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onfocusin :: WriteAttr Element String
    |
227 | onfocusin                    =  strAttr "onfocusin"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:228:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onfocusout :: WriteAttr Element String
    |
228 | onfocusout                   =  strAttr "onfocusout"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:229:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onload :: WriteAttr Element String
    |
229 | onload                       =  strAttr "onload"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:230:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onmousedown :: WriteAttr Element String
    |
230 | onmousedown                  =  strAttr "onmousedown"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:231:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onmousemove :: WriteAttr Element String
    |
231 | onmousemove                  =  strAttr "onmousemove"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:232:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onmouseout :: WriteAttr Element String
    |
232 | onmouseout                   =  strAttr "onmouseout"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:233:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onmouseover :: WriteAttr Element String
    |
233 | onmouseover                  =  strAttr "onmouseover"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:234:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onmouseup :: WriteAttr Element String
    |
234 | onmouseup                    =  strAttr "onmouseup"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:235:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onrepeat :: WriteAttr Element String
    |
235 | onrepeat                     =  strAttr "onrepeat"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:236:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onresize :: WriteAttr Element String
    |
236 | onresize                     =  strAttr "onresize"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:237:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onscroll :: WriteAttr Element String
    |
237 | onscroll                     =  strAttr "onscroll"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:238:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onunload :: WriteAttr Element String
    |
238 | onunload                     =  strAttr "onunload"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:239:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      onzoom :: WriteAttr Element String
    |
239 | onzoom                       =  strAttr "onzoom"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:240:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      opacity :: WriteAttr Element String
    |
240 | opacity                      =  strAttr "opacity"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:241:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      operator :: WriteAttr Element String
    |
241 | operator                     =  strAttr "operator"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:242:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      order :: WriteAttr Element String
    |
242 | order                        =  strAttr "order"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:243:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      orient :: WriteAttr Element String
    |
243 | orient                       =  strAttr "orient"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:244:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      orientation :: WriteAttr Element String
    |
244 | orientation                  =  strAttr "orientation"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:245:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      origin :: WriteAttr Element String
    |
245 | origin                       =  strAttr "origin"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:246:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      overflow :: WriteAttr Element String
    |
246 | overflow                     =  strAttr "overflow"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:247:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      overline_position :: WriteAttr Element Float
    |
247 | overline_position            =  fltAttr "overline-position"
    | ^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:248:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      overline_thickness :: WriteAttr Element Float
    |
248 | overline_thickness           =  fltAttr "overline-thickness"
    | ^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:249:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      panose_1 :: WriteAttr Element Int
    |
249 | panose_1                     =  intAttr "panose-1"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:250:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: path :: String
    |
250 | path                         =  "path"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:252:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      pathLength :: WriteAttr Element Float
    |
252 | pathLength                   =  fltAttr "pathLength"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:253:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      patternContentUnits :: WriteAttr Element String
    |
253 | patternContentUnits          =  strAttr "patternContentUnits"
    | ^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:254:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      patternTransform :: WriteAttr Element String
    |
254 | patternTransform             =  strAttr "patternTransform"
    | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:255:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      patternUnits :: WriteAttr Element String
    |
255 | patternUnits                 =  strAttr "patternUnits"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:256:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      pointer_events :: WriteAttr Element String
    |
256 | pointer_events               =  strAttr "pointer-events"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:257:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      points :: WriteAttr Element String
    |
257 | points                       =  strAttr "points"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:258:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      pointsAtX :: WriteAttr Element Float
    |
258 | pointsAtX                    =  fltAttr "pointsAtX"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:259:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      pointsAtY :: WriteAttr Element Float
    |
259 | pointsAtY                    =  fltAttr "pointsAtY"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:260:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      pointsAtZ :: WriteAttr Element Float
    |
260 | pointsAtZ                    =  fltAttr "pointsAtZ"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:261:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      preserveAlpha :: WriteAttr Element String
    |
261 | preserveAlpha                =  strAttr "preserveAlpha"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:262:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      preserveAspectRatio :: WriteAttr Element String
    |
262 | preserveAspectRatio          =  strAttr "preserveAspectRatio"
    | ^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:263:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      primitiveUnits :: WriteAttr Element String
    |
263 | primitiveUnits               =  strAttr "primitiveUnits"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:264:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      r :: WriteAttr Element String
    |
264 | r                            =  strAttr "r"
    | ^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:265:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      radius :: WriteAttr Element String
    |
265 | radius                       =  strAttr "radius"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:266:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      refX :: WriteAttr Element String
    |
266 | refX                         =  strAttr "refX"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:267:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      refY :: WriteAttr Element String
    |
267 | refY                         =  strAttr "refY"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:268:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      refx :: WriteAttr Element String
    |
268 | refx                         =  refX
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:269:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      refy :: WriteAttr Element String
    |
269 | refy                         =  refY
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:271:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      rendering_intent :: WriteAttr Element String
    |
271 | rendering_intent             =  strAttr "rendering-intent"
    | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:272:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      repeatCount :: WriteAttr Element String
    |
272 | repeatCount                  =  strAttr "repeatCount"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:273:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      repeatDur :: WriteAttr Element String
    |
273 | repeatDur                    =  strAttr "repeatDur"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:274:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      requiredExtensions :: WriteAttr Element String
    |
274 | requiredExtensions           =  strAttr "requiredExtensions"
    | ^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:275:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      requiredFeatures :: WriteAttr Element String
    |
275 | requiredFeatures             =  strAttr "requiredFeatures"
    | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:276:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      restart :: WriteAttr Element String
    |
276 | restart                      =  strAttr "restart"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:277:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      result :: WriteAttr Element String
    |
277 | result                       =  strAttr "result"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:278:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      rotate :: WriteAttr Element String
    |
278 | rotate                       =  strAttr "rotate"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:279:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      rx :: WriteAttr Element String
    |
279 | rx                           =  strAttr "rx"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:280:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      ry :: WriteAttr Element String
    |
280 | ry                           =  strAttr "ry"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:281:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      scale :: WriteAttr Element Float
    |
281 | scale                        =  fltAttr "scale"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:282:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      seed :: WriteAttr Element Float
    |
282 | seed                         =  fltAttr "seed"
    | ^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:283:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      shape_rendering :: WriteAttr Element String
    |
283 | shape_rendering              =  strAttr "shape-rendering"
    | ^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:284:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      slope :: WriteAttr Element Float
    |
284 | slope                        =  fltAttr "slope"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:285:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      spacing :: WriteAttr Element String
    |
285 | spacing                      =  strAttr "spacing"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:286:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      specularConstant :: WriteAttr Element Float
    |
286 | specularConstant             =  fltAttr "specularConstant"
    | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:287:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      specularExponent :: WriteAttr Element Float
    |
287 | specularExponent             =  fltAttr "specularExponent"
    | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:288:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      spreadMethod :: WriteAttr Element String
    |
288 | spreadMethod                 =  strAttr "spreadMethod"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:289:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      startOffset :: WriteAttr Element String
    |
289 | startOffset                  =  strAttr "startOffset"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:290:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stdDeviation :: WriteAttr Element String
    |
290 | stdDeviation                 =  strAttr "stdDeviation"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:291:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stemh :: WriteAttr Element Float
    |
291 | stemh                        =  fltAttr "stemh"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:292:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stemv :: WriteAttr Element Float
    |
292 | stemv                        =  fltAttr "stemv"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:293:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stitchTiles :: WriteAttr Element String
    |
293 | stitchTiles                  =  strAttr "stitchTiles"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:294:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stop_color :: WriteAttr Element String
    |
294 | stop_color                   =  strAttr "stop-color"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:295:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stop_opacity :: WriteAttr Element String
    |
295 | stop_opacity                 =  strAttr "stop-opacity"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:296:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      strikethrough_position :: WriteAttr Element Float
    |
296 | strikethrough_position       =  fltAttr "strikethrough-position"
    | ^^^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:297:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      strikethrough_thickness :: WriteAttr Element Float
    |
297 | strikethrough_thickness      =  fltAttr "strikethrough-thickness"
    | ^^^^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:298:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      string :: WriteAttr Element String
    |
298 | string                       =  strAttr "string"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:299:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stroke :: WriteAttr Element String
    |
299 | stroke                       =  strAttr "stroke"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:300:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stroke_dasharray :: WriteAttr Element String
    |
300 | stroke_dasharray             =  strAttr "stroke-dasharray"
    | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:301:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stroke_dashoffset :: WriteAttr Element String
    |
301 | stroke_dashoffset            =  strAttr "stroke-dashoffset"
    | ^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:302:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stroke_linecap :: WriteAttr Element String
    |
302 | stroke_linecap               =  strAttr "stroke-linecap"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:303:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stroke_linejoin :: WriteAttr Element String
    |
303 | stroke_linejoin              =  strAttr "stroke-linejoin"
    | ^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:304:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stroke_miterlimit :: WriteAttr Element String
    |
304 | stroke_miterlimit            =  strAttr "stroke-miterlimit"
    | ^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:305:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stroke_opacity :: WriteAttr Element String
    |
305 | stroke_opacity               =  strAttr "stroke-opacity"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:306:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      stroke_width :: WriteAttr Element String
    |
306 | stroke_width                 =  strAttr "stroke-width"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:307:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      style :: WriteAttr Element String
    |
307 | style                        =  strAttr "style"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:308:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      surfaceScale :: WriteAttr Element Float
    |
308 | surfaceScale                 =  fltAttr "surfaceScale"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:309:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      systemLanguage :: WriteAttr Element String
    |
309 | systemLanguage               =  strAttr "systemLanguage"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:310:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      tableValues :: WriteAttr Element String
    |
310 | tableValues                  =  strAttr "tableValues"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:311:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      target :: WriteAttr Element String
    |
311 | target                       =  strAttr "target"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:312:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      targetX :: WriteAttr Element Float
    |
312 | targetX                      =  fltAttr "targetX"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:313:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      targetY :: WriteAttr Element Float
    |
313 | targetY                      =  fltAttr "targetY"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:314:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      text_anchor :: WriteAttr Element String
    |
314 | text_anchor                  =  strAttr "text-anchor"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:315:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      text_decoration :: WriteAttr Element String
    |
315 | text_decoration              =  strAttr "text-decoration"
    | ^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:316:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      text_rendering :: WriteAttr Element String
    |
316 | text_rendering               =  strAttr "text-rendering"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:317:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      textLength :: WriteAttr Element String
    |
317 | textLength                   =  strAttr "textLength"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:318:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      title :: WriteAttr Element String
    |
318 | title                        =  strAttr "title"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:319:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      to :: WriteAttr Element Float
    |
319 | to                           =  fltAttr "to"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:320:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      transform :: WriteAttr Element String
    |
320 | transform                    =  strAttr "transform"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:321:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      type_ :: WriteAttr Element String
    |
321 | type_                        =  strAttr "type"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:322:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      u1 :: WriteAttr Element String
    |
322 | u1                           =  strAttr "u1"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:323:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      u2 :: WriteAttr Element String
    |
323 | u2                           =  strAttr "u2"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:324:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      underline_position :: WriteAttr Element Float
    |
324 | underline_position           =  fltAttr "underline-position"
    | ^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:325:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      underline_thickness :: WriteAttr Element Float
    |
325 | underline_thickness          =  fltAttr "underline-thickness"
    | ^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:326:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      unicode :: WriteAttr Element String
    |
326 | unicode                      =  strAttr "unicode"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:327:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      unicode_bidi :: WriteAttr Element String
    |
327 | unicode_bidi                 =  strAttr "unicode-bidi"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:328:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      unicode_range :: WriteAttr Element String
    |
328 | unicode_range                =  strAttr "unicode-range"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:329:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      units_per_em :: WriteAttr Element Float
    |
329 | units_per_em                 =  fltAttr "units-per-em"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:330:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      v_alphabetic :: WriteAttr Element Float
    |
330 | v_alphabetic                 =  fltAttr "v-alphabetic"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:331:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      v_hanging :: WriteAttr Element Float
    |
331 | v_hanging                    =  fltAttr "v-hanging"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:332:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      v_ideographic :: WriteAttr Element Float
    |
332 | v_ideographic                =  fltAttr "v-ideographic"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:333:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      v_mathematical :: WriteAttr Element Float
    |
333 | v_mathematical               =  fltAttr "v-mathematical"
    | ^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:334:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      values :: WriteAttr Element String
    |
334 | values                       =  strAttr "values"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:335:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      version :: WriteAttr Element Float
    |
335 | version                      =  fltAttr "version"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:336:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      vert_adv_y :: WriteAttr Element Float
    |
336 | vert_adv_y                   =  fltAttr "vert-adv-y"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:337:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      vert_origin_x :: WriteAttr Element Float
    |
337 | vert_origin_x                =  fltAttr "vert-origin-x"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:338:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      vert_origin_y :: WriteAttr Element Float
    |
338 | vert_origin_y                =  fltAttr "vert-origin-y"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:339:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      viewBox :: WriteAttr Element String
    |
339 | viewBox                      =  strAttr "viewBox"
    | ^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:340:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      viewTarget :: WriteAttr Element String
    |
340 | viewTarget                   =  strAttr "viewTarget"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:341:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      visibility :: WriteAttr Element String
    |
341 | visibility                   =  strAttr "visibility"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:342:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      width :: WriteAttr Element String
    |
342 | width                        =  strAttr "width"
    | ^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:343:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      widths :: WriteAttr Element String
    |
343 | widths                       =  strAttr "widths"
    | ^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:344:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      word_spacing :: WriteAttr Element String
    |
344 | word_spacing                 =  strAttr "word-spacing"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:345:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      writing_mode :: WriteAttr Element String
    |
345 | writing_mode                 =  strAttr "writing-mode"
    | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:346:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      x :: WriteAttr Element String
    |
346 | x                            =  strAttr "x"
    | ^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:347:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      x_height :: WriteAttr Element Float
    |
347 | x_height                     =  fltAttr "x-height"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:348:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      x1 :: WriteAttr Element String
    |
348 | x1                           =  strAttr "x1"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:349:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      x2 :: WriteAttr Element String
    |
349 | x2                           =  strAttr "x2"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:350:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      xChannelSelector :: WriteAttr Element String
    |
350 | xChannelSelector             =  strAttr "xChannelSelector"
    | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:351:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      xlink_actuate :: WriteAttr Element String
    |
351 | xlink_actuate                =  strAttr "xlink:actuate"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:352:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      xlink_arcrole :: WriteAttr Element String
    |
352 | xlink_arcrole                =  strAttr "xlink:acrole"
    | ^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:353:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      xlink_href :: WriteAttr Element String
    |
353 | xlink_href                   =  strAttr "xlink:href"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:354:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      xlink_role :: WriteAttr Element String
    |
354 | xlink_role                   =  strAttr "xlink:role"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:355:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      xlink_show :: WriteAttr Element String
    |
355 | xlink_show                   =  strAttr "xlink:show"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:356:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      xlink_title :: WriteAttr Element String
    |
356 | xlink_title                  =  strAttr "xlink:title"
    | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:357:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      xlink_type :: WriteAttr Element String
    |
357 | xlink_type                   =  strAttr "xlink:type"
    | ^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:358:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      xml_base :: WriteAttr Element String
    |
358 | xml_base                     =  strAttr "xml:base"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:359:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      xml_lang :: WriteAttr Element String
    |
359 | xml_lang                     =  strAttr "xml:lang"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:360:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      xml_space :: WriteAttr Element String
    |
360 | xml_space                    =  strAttr "xml:space"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:361:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      y :: WriteAttr Element String
    |
361 | y                            =  strAttr "y"
    | ^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:362:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      y1 :: WriteAttr Element String
    |
362 | y1                           =  strAttr "y1"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:363:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      y2 :: WriteAttr Element String
    |
363 | y2                           =  strAttr "y2"
    | ^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:364:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      yChannelSelector :: WriteAttr Element String
    |
364 | yChannelSelector             =  strAttr "yChannelSelector"
    | ^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:365:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      z :: WriteAttr Element Float
    |
365 | z                            =  fltAttr "z"
    | ^

src/Graphics/UI/Threepenny/SVG/Attributes.hs:366:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      zoomAndPan :: WriteAttr Element String
    |
366 | zoomAndPan                   =  strAttr "zoomAndPan"
    | ^^^^^^^^^^
[21 of 29] Compiling Graphics.UI.Threepenny.SVG ( src/Graphics/UI/Threepenny/SVG.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/SVG.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/SVG.dyn_o )
[22 of 29] Compiling Graphics.UI.Threepenny.JQuery ( src/Graphics/UI/Threepenny/JQuery.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/JQuery.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/JQuery.dyn_o )

src/Graphics/UI/Threepenny/JQuery.hs:3:1: warning: [-Wunused-imports]
    The import of ‘Control.Arrow’ is redundant
      except perhaps to import instances from ‘Control.Arrow’
    To import instances alone, use: import Control.Arrow()
  |
3 | import Control.Arrow
  | ^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/JQuery.hs:4:1: warning: [-Wunused-imports]
    The import of ‘Data.String’ is redundant
      except perhaps to import instances from ‘Data.String’
    To import instances alone, use: import Data.String()
  |
4 | import Data.String
  | ^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/JQuery.hs:7:1: warning: [-Wunused-imports]
    The import of ‘Data.Maybe’ is redundant
      except perhaps to import instances from ‘Data.Maybe’
    To import instances alone, use: import Data.Maybe()
  |
7 | import Data.Maybe
  | ^^^^^^^^^^^^^^^^^
[23 of 29] Compiling Graphics.UI.Threepenny.Elements ( src/Graphics/UI/Threepenny/Elements.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Elements.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Elements.dyn_o )

src/Graphics/UI/Threepenny/Elements.hs:25:1: warning: [-Wunused-imports]
    The import of ‘Control.Monad.Trans.Reader’ is redundant
      except perhaps to import instances from ‘Control.Monad.Trans.Reader’
    To import instances alone, use: import Control.Monad.Trans.Reader()
   |
25 | import           Control.Monad.Trans.Reader
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:59:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      tag :: String -> UI Element
   |
59 | tag    = mkElement
   | ^^^

src/Graphics/UI/Threepenny/Elements.hs:60:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      itag :: String -> UI Element
   |
60 | itag   = mkElement
   | ^^^^

src/Graphics/UI/Threepenny/Elements.hs:62:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: address :: UI Element
   |
62 | address             =  tag "address"
   | ^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:63:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: a :: UI Element
   |
63 | a                   =  anchor
   | ^

src/Graphics/UI/Threepenny/Elements.hs:64:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: anchor :: UI Element
   |
64 | anchor              =  tag "a"
   | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:65:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: applet :: UI Element
   |
65 | applet              =  tag "applet"
   | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:66:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: area :: UI Element
   |
66 | area                = itag "area"
   | ^^^^

src/Graphics/UI/Threepenny/Elements.hs:67:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: audio :: UI Element
   |
67 | audio               =  tag "audio"
   | ^^^^^

src/Graphics/UI/Threepenny/Elements.hs:68:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: basefont :: UI Element
   |
68 | basefont            = itag "basefont"
   | ^^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:69:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: big :: UI Element
   |
69 | big                 =  tag "big"
   | ^^^

src/Graphics/UI/Threepenny/Elements.hs:70:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: blockquote :: UI Element
   |
70 | blockquote          =  tag "blockquote"
   | ^^^^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:71:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: body :: UI Element
   |
71 | body                =  tag "body"
   | ^^^^

src/Graphics/UI/Threepenny/Elements.hs:72:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: bold :: UI Element
   |
72 | bold                =  tag "b"
   | ^^^^

src/Graphics/UI/Threepenny/Elements.hs:73:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: br :: UI Element
   |
73 | br                  = itag "br"
   | ^^

src/Graphics/UI/Threepenny/Elements.hs:74:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: button :: UI Element
   |
74 | button              =  tag "button"
   | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:75:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: canvas :: UI Element
   |
75 | canvas              =  tag "canvas"
   | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:76:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: caption :: UI Element
   |
76 | caption             =  tag "caption"
   | ^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:77:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: center :: UI Element
   |
77 | center              =  tag "center"
   | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:78:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: cite :: UI Element
   |
78 | cite                =  tag "cite"
   | ^^^^

src/Graphics/UI/Threepenny/Elements.hs:79:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: code :: UI Element
   |
79 | code                =  tag "code"
   | ^^^^

src/Graphics/UI/Threepenny/Elements.hs:80:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: ddef :: UI Element
   |
80 | ddef                =  tag "dd"
   | ^^^^

src/Graphics/UI/Threepenny/Elements.hs:81:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: define :: UI Element
   |
81 | define              =  tag "dfn"
   | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:82:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: div :: UI Element
   |
82 | div                 =  tag "div"
   | ^^^

src/Graphics/UI/Threepenny/Elements.hs:83:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: dlist :: UI Element
   |
83 | dlist               =  tag "dl"
   | ^^^^^

src/Graphics/UI/Threepenny/Elements.hs:84:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: dterm :: UI Element
   |
84 | dterm               =  tag "dt"
   | ^^^^^

src/Graphics/UI/Threepenny/Elements.hs:85:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: emphasize :: UI Element
   |
85 | emphasize           =  tag "em"
   | ^^^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:86:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: fieldset :: UI Element
   |
86 | fieldset            =  tag "fieldset"
   | ^^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:87:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: font :: UI Element
   |
87 | font                =  tag "font"
   | ^^^^

src/Graphics/UI/Threepenny/Elements.hs:88:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: form :: UI Element
   |
88 | form                =  tag "form"
   | ^^^^

src/Graphics/UI/Threepenny/Elements.hs:89:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: frame :: UI Element
   |
89 | frame               =  tag "frame"
   | ^^^^^

src/Graphics/UI/Threepenny/Elements.hs:90:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: frameset :: UI Element
   |
90 | frameset            =  tag "frameset"
   | ^^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:91:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: h1 :: UI Element
   |
91 | h1                  =  tag "h1"
   | ^^

src/Graphics/UI/Threepenny/Elements.hs:92:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: h2 :: UI Element
   |
92 | h2                  =  tag "h2"
   | ^^

src/Graphics/UI/Threepenny/Elements.hs:93:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: h3 :: UI Element
   |
93 | h3                  =  tag "h3"
   | ^^

src/Graphics/UI/Threepenny/Elements.hs:94:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: h4 :: UI Element
   |
94 | h4                  =  tag "h4"
   | ^^

src/Graphics/UI/Threepenny/Elements.hs:95:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: h5 :: UI Element
   |
95 | h5                  =  tag "h5"
   | ^^

src/Graphics/UI/Threepenny/Elements.hs:96:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: h6 :: UI Element
   |
96 | h6                  =  tag "h6"
   | ^^

src/Graphics/UI/Threepenny/Elements.hs:97:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: header :: UI Element
   |
97 | header              =  tag "head"
   | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:98:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: hr :: UI Element
   |
98 | hr                  = itag "hr"
   | ^^

src/Graphics/UI/Threepenny/Elements.hs:99:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: img :: UI Element
   |
99 | img                 = image
   | ^^^

src/Graphics/UI/Threepenny/Elements.hs:100:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: image :: UI Element
    |
100 | image               = itag "img"
    | ^^^^^

src/Graphics/UI/Threepenny/Elements.hs:101:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: input :: UI Element
    |
101 | input               = itag "input"
    | ^^^^^

src/Graphics/UI/Threepenny/Elements.hs:102:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: italics :: UI Element
    |
102 | italics             =  tag "i"
    | ^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:103:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: keyboard :: UI Element
    |
103 | keyboard            =  tag "kbd"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:104:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: label :: UI Element
    |
104 | label               =  tag "label"
    | ^^^^^

src/Graphics/UI/Threepenny/Elements.hs:105:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: legend :: UI Element
    |
105 | legend              =  tag "legend"
    | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:106:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: li :: UI Element
    |
106 | li                  =  tag "li"
    | ^^

src/Graphics/UI/Threepenny/Elements.hs:107:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: link :: UI Element
    |
107 | link                =  tag "link"
    | ^^^^

src/Graphics/UI/Threepenny/Elements.hs:108:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: map :: UI Element
    |
108 | map                 =  tag "map"
    | ^^^

src/Graphics/UI/Threepenny/Elements.hs:109:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: meta :: UI Element
    |
109 | meta                = itag "meta"
    | ^^^^

src/Graphics/UI/Threepenny/Elements.hs:110:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: noframes :: UI Element
    |
110 | noframes            =  tag "noframes"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:111:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: olist :: UI Element
    |
111 | olist               =  tag "ol"
    | ^^^^^

src/Graphics/UI/Threepenny/Elements.hs:112:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: option :: UI Element
    |
112 | option              =  tag "option"
    | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:113:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: p :: UI Element
    |
113 | p                   =  tag "p"
    | ^

src/Graphics/UI/Threepenny/Elements.hs:114:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: paragraph :: UI Element
    |
114 | paragraph           =  tag "p"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:115:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: param :: UI Element
    |
115 | param               = itag "param"
    | ^^^^^

src/Graphics/UI/Threepenny/Elements.hs:116:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: pre :: UI Element
    |
116 | pre                 =  tag "pre"
    | ^^^

src/Graphics/UI/Threepenny/Elements.hs:117:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: sample :: UI Element
    |
117 | sample              =  tag "samp"
    | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:118:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: select :: UI Element
    |
118 | select              =  tag "select"
    | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:119:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: small :: UI Element
    |
119 | small               =  tag "small"
    | ^^^^^

src/Graphics/UI/Threepenny/Elements.hs:120:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: source :: UI Element
    |
120 | source              =  tag "source"
    | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:121:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: strong :: UI Element
    |
121 | strong              =  tag "strong"
    | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:122:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: sub :: UI Element
    |
122 | sub                 =  tag "sub"
    | ^^^

src/Graphics/UI/Threepenny/Elements.hs:123:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: sup :: UI Element
    |
123 | sup                 =  tag "sup"
    | ^^^

src/Graphics/UI/Threepenny/Elements.hs:124:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: table :: UI Element
    |
124 | table               =  tag "table"
    | ^^^^^

src/Graphics/UI/Threepenny/Elements.hs:125:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: td :: UI Element
    |
125 | td                  =  tag "td"
    | ^^

src/Graphics/UI/Threepenny/Elements.hs:126:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: textarea :: UI Element
    |
126 | textarea            =  tag "textarea"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:127:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: th :: UI Element
    |
127 | th                  =  tag "th"
    | ^^

src/Graphics/UI/Threepenny/Elements.hs:128:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: thebase :: UI Element
    |
128 | thebase             = itag "base"
    | ^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:129:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: thehtml :: UI Element
    |
129 | thehtml             =  tag "html"
    | ^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:130:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: span :: UI Element
    |
130 | span                =  tag "span"
    | ^^^^

src/Graphics/UI/Threepenny/Elements.hs:131:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: title_ :: UI Element
    |
131 | title_              =  tag "title"
    | ^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:132:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: tr :: UI Element
    |
132 | tr                  =  tag "tr"
    | ^^

src/Graphics/UI/Threepenny/Elements.hs:133:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: tt :: UI Element
    |
133 | tt                  =  tag "tt"
    | ^^

src/Graphics/UI/Threepenny/Elements.hs:134:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: ul :: UI Element
    |
134 | ul                  =  tag "ul"
    | ^^

src/Graphics/UI/Threepenny/Elements.hs:135:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: underline :: UI Element
    |
135 | underline           =  tag "u"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:136:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: variable :: UI Element
    |
136 | variable            =  tag "var"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/Elements.hs:137:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: video :: UI Element
    |
137 | video               =  tag "video"
    | ^^^^^
[24 of 29] Compiling Graphics.UI.Threepenny.DragNDrop ( src/Graphics/UI/Threepenny/DragNDrop.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/DragNDrop.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/DragNDrop.dyn_o )

src/Graphics/UI/Threepenny/DragNDrop.hs:33:5: warning: [-Wname-shadowing]
    This binding for ‘set’ shadows the existing binding
      imported from ‘Graphics.UI.Threepenny.Core’ at src/Graphics/UI/Threepenny/DragNDrop.hs:21:1-34
      (and originally defined
         at src/Graphics/UI/Threepenny/Core.hs:317:1-3)
   |
33 |     set v = set' (attr "draggable") $ if v then "true" else "false"
   |     ^^^

src/Graphics/UI/Threepenny/DragNDrop.hs:39:5: warning: [-Wname-shadowing]
    This binding for ‘set’ shadows the existing binding
      imported from ‘Graphics.UI.Threepenny.Core’ at src/Graphics/UI/Threepenny/DragNDrop.hs:21:1-34
      (and originally defined
         at src/Graphics/UI/Threepenny/Core.hs:317:1-3)
   |
39 |     set v = set' (attr "ondragstart") $
   |     ^^^

src/Graphics/UI/Threepenny/DragNDrop.hs:73:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      withDragData :: Event EventData -> Event String
   |
73 | withDragData = fmap (extract . unsafeFromJSON)
   | ^^^^^^^^^^^^
[25 of 29] Compiling Graphics.UI.Threepenny.Canvas ( src/Graphics/UI/Threepenny/Canvas.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Canvas.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Canvas.dyn_o )

src/Graphics/UI/Threepenny/Canvas.hs:23:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Aeson’ is redundant
      except perhaps to import instances from ‘Data.Aeson’
    To import instances alone, use: import Data.Aeson()
   |
23 | import qualified Data.Aeson as JSON
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/Canvas.hs:243:10: warning: [-Wname-shadowing]
    This binding for ‘text’ shadows the existing binding
      imported from ‘Graphics.UI.Threepenny.Core’ at src/Graphics/UI/Threepenny/Canvas.hs:22:1-34
      (and originally defined
         at src/Graphics/UI/Threepenny/Core.hs:150:1-4)
    |
243 | fillText text (x,y) canvas =
    |          ^^^^

src/Graphics/UI/Threepenny/Canvas.hs:253:12: warning: [-Wname-shadowing]
    This binding for ‘text’ shadows the existing binding
      imported from ‘Graphics.UI.Threepenny.Core’ at src/Graphics/UI/Threepenny/Canvas.hs:22:1-34
      (and originally defined
         at src/Graphics/UI/Threepenny/Core.hs:150:1-4)
    |
253 | strokeText text (x,y) canvas =
    |            ^^^^
[26 of 29] Compiling Graphics.UI.Threepenny.Attributes ( src/Graphics/UI/Threepenny/Attributes.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Attributes.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Attributes.dyn_o )

src/Graphics/UI/Threepenny/Attributes.hs:42:18: warning: [-Wincomplete-uni-patterns]
    Pattern match(es) are non-exhaustive
    In a pattern binding:
        Patterns of type ‘JSON.Result a’ not matched: JSON.Error _
   |
42 |     from s = let JSON.Success x = JSON.fromJSON s in
   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:53:9: warning: [-Wname-shadowing]
    This binding for ‘name’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Attributes.hs:103:1
   |
53 | strAttr name = mkWriteAttr (set' (attr name))
   |         ^^^^

src/Graphics/UI/Threepenny/Attributes.hs:56:9: warning: [-Wname-shadowing]
    This binding for ‘name’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Attributes.hs:103:1
   |
56 | intAttr name = mkWriteAttr (set' (attr name) . show)
   |         ^^^^

src/Graphics/UI/Threepenny/Attributes.hs:59:11: warning: [-Wname-shadowing]
    This binding for ‘name’ shadows the existing binding
      defined at src/Graphics/UI/Threepenny/Attributes.hs:103:1
   |
59 | emptyAttr name = mkWriteAttr (set' (attr name) . f)
   |           ^^^^

src/Graphics/UI/Threepenny/Attributes.hs:64:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      action :: WriteAttr Element String
   |
64 | action              =   strAttr "action"
   | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:65:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      align :: WriteAttr Element String
   |
65 | align               =   strAttr "align"
   | ^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:66:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      alink :: WriteAttr Element String
   |
66 | alink               =   strAttr "alink"
   | ^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:67:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      alt :: WriteAttr Element String
   |
67 | alt                 =   strAttr "alt"
   | ^^^

src/Graphics/UI/Threepenny/Attributes.hs:68:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      altcode :: WriteAttr Element String
   |
68 | altcode             =   strAttr "altcode"
   | ^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:69:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      archive :: WriteAttr Element String
   |
69 | archive             =   strAttr "archive"
   | ^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:70:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      background :: WriteAttr Element String
   |
70 | background          =   strAttr "background"
   | ^^^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:71:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      base :: WriteAttr Element String
   |
71 | base                =   strAttr "base"
   | ^^^^

src/Graphics/UI/Threepenny/Attributes.hs:72:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      bgcolor :: WriteAttr Element String
   |
72 | bgcolor             =   strAttr "bgcolor"
   | ^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:73:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      border :: WriteAttr Element Int
   |
73 | border              =   intAttr "border"
   | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:74:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      bordercolor :: WriteAttr Element String
   |
74 | bordercolor         =   strAttr "bordercolor"
   | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:75:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      cellpadding :: WriteAttr Element Int
   |
75 | cellpadding         =   intAttr "cellpadding"
   | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:76:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      cellspacing :: WriteAttr Element Int
   |
76 | cellspacing         =   intAttr "cellspacing"
   | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:77:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      checked_ :: WriteAttr Element Bool
   |
77 | checked_            = emptyAttr "checked"
   | ^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:78:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      clear_ :: WriteAttr Element String
   |
78 | clear_              =   strAttr "clear"
   | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:79:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      code_ :: WriteAttr Element String
   |
79 | code_               =   strAttr "code"
   | ^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:80:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      codebase :: WriteAttr Element String
   |
80 | codebase            =   strAttr "codebase"
   | ^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:81:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      color :: WriteAttr Element String
   |
81 | color               =   strAttr "color"
   | ^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:82:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      cols :: WriteAttr Element String
   |
82 | cols                =   strAttr "cols"
   | ^^^^

src/Graphics/UI/Threepenny/Attributes.hs:83:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      colspan :: WriteAttr Element Int
   |
83 | colspan             =   intAttr "colspan"
   | ^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:84:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      compact :: WriteAttr Element Bool
   |
84 | compact             = emptyAttr "compact"
   | ^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:85:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      content :: WriteAttr Element String
   |
85 | content             =   strAttr "content"
   | ^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:86:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      coords :: WriteAttr Element String
   |
86 | coords              =   strAttr "coords"
   | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:87:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      enctype :: WriteAttr Element String
   |
87 | enctype             =   strAttr "enctype"
   | ^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:88:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      face :: WriteAttr Element String
   |
88 | face                =   strAttr "face"
   | ^^^^

src/Graphics/UI/Threepenny/Attributes.hs:89:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      for :: WriteAttr Element String
   |
89 | for                 =   strAttr "for"
   | ^^^

src/Graphics/UI/Threepenny/Attributes.hs:90:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      frameborder :: WriteAttr Element Int
   |
90 | frameborder         =   intAttr "frameborder"
   | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:91:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      height :: WriteAttr Element Int
   |
91 | height              =   intAttr "height"
   | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:92:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      href :: WriteAttr Element String
   |
92 | href                =   strAttr "href"
   | ^^^^

src/Graphics/UI/Threepenny/Attributes.hs:93:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      hspace :: WriteAttr Element Int
   |
93 | hspace              =   intAttr "hspace"
   | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:94:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      httpequiv :: WriteAttr Element String
   |
94 | httpequiv           =   strAttr "http-equiv"
   | ^^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:95:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      id_ :: WriteAttr Element String
   |
95 | id_                 =   strAttr "id"
   | ^^^

src/Graphics/UI/Threepenny/Attributes.hs:96:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      ismap :: WriteAttr Element Bool
   |
96 | ismap               = emptyAttr "ismap"
   | ^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:97:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      lang :: WriteAttr Element String
   |
97 | lang                =   strAttr "lang"
   | ^^^^

src/Graphics/UI/Threepenny/Attributes.hs:98:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      marginheight :: WriteAttr Element Int
   |
98 | marginheight        =   intAttr "marginheight"
   | ^^^^^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:99:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      marginwidth :: WriteAttr Element Int
   |
99 | marginwidth         =   intAttr "marginwidth"
   | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:100:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      maxlength :: WriteAttr Element Int
    |
100 | maxlength           =   intAttr "maxlength"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:101:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      method :: WriteAttr Element String
    |
101 | method              =   strAttr "method"
    | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:102:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      multiple :: WriteAttr Element Bool
    |
102 | multiple            = emptyAttr "multiple"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:103:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      name :: WriteAttr Element String
    |
103 | name                =   strAttr "name"
    | ^^^^

src/Graphics/UI/Threepenny/Attributes.hs:104:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      nohref :: WriteAttr Element Bool
    |
104 | nohref              = emptyAttr "nohref"
    | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:105:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      noresize :: WriteAttr Element Bool
    |
105 | noresize            = emptyAttr "noresize"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:106:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      noshade :: WriteAttr Element Bool
    |
106 | noshade             = emptyAttr "noshade"
    | ^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:107:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      nowrap :: WriteAttr Element Bool
    |
107 | nowrap              = emptyAttr "nowrap"
    | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:108:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      rel :: WriteAttr Element String
    |
108 | rel                 =   strAttr "rel"
    | ^^^

src/Graphics/UI/Threepenny/Attributes.hs:109:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      rev :: WriteAttr Element String
    |
109 | rev                 =   strAttr "rev"
    | ^^^

src/Graphics/UI/Threepenny/Attributes.hs:110:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      rows :: WriteAttr Element String
    |
110 | rows                =   strAttr "rows"
    | ^^^^

src/Graphics/UI/Threepenny/Attributes.hs:111:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      rowspan :: WriteAttr Element Int
    |
111 | rowspan             =   intAttr "rowspan"
    | ^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:112:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      rules :: WriteAttr Element String
    |
112 | rules               =   strAttr "rules"
    | ^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:113:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      scrolling :: WriteAttr Element String
    |
113 | scrolling           =   strAttr "scrolling"
    | ^^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:114:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      selected :: WriteAttr Element Bool
    |
114 | selected            = emptyAttr "selected"
    | ^^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:115:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      shape :: WriteAttr Element String
    |
115 | shape               =   strAttr "shape"
    | ^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:116:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      size :: WriteAttr Element String
    |
116 | size                =   strAttr "size"
    | ^^^^

src/Graphics/UI/Threepenny/Attributes.hs:117:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      src :: WriteAttr Element String
    |
117 | src                 =   strAttr "src"
    | ^^^

src/Graphics/UI/Threepenny/Attributes.hs:118:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      target :: WriteAttr Element String
    |
118 | target              =   strAttr "target"
    | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:119:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      text_ :: WriteAttr Element String
    |
119 | text_               =   strAttr "text"
    | ^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:120:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      class_ :: WriteAttr Element String
    |
120 | class_              =   strAttr "class"
    | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:121:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      type_ :: WriteAttr Element String
    |
121 | type_               =   strAttr "type"
    | ^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:122:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      title__ :: WriteAttr Element String
    |
122 | title__             =   strAttr "title" -- ugly, but necessary to avoid conflicts with the window title and the title element
    | ^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:123:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      usemap :: WriteAttr Element String
    |
123 | usemap              =   strAttr "usemap"
    | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:124:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      valign :: WriteAttr Element String
    |
124 | valign              =   strAttr "valign"
    | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:125:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      version :: WriteAttr Element String
    |
125 | version             =   strAttr "version"
    | ^^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:126:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      vlink :: WriteAttr Element String
    |
126 | vlink               =   strAttr "vlink"
    | ^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:127:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      vspace :: WriteAttr Element Int
    |
127 | vspace              =   intAttr "vspace"
    | ^^^^^^

src/Graphics/UI/Threepenny/Attributes.hs:128:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      width :: WriteAttr Element Int
    |
128 | width               =   intAttr "width"
    | ^^^^^
[27 of 29] Compiling Graphics.UI.Threepenny.Events ( src/Graphics/UI/Threepenny/Events.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Events.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Events.dyn_o )

src/Graphics/UI/Threepenny/Events.hs:21:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      silence :: Event a -> Event ()
   |
21 | silence = fmap (const ())
   | ^^^^^^^

src/Graphics/UI/Threepenny/Events.hs:30:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      unsafeMapUI :: Element -> (t -> UI b) -> Event t -> Event b
   |
30 | unsafeMapUI el f = unsafeMapIO (\a -> getWindow el >>= \w -> runUI w (f a))
   | ^^^^^^^^^^^

src/Graphics/UI/Threepenny/Events.hs:82:11: warning: [-Wincomplete-uni-patterns]
    Pattern match(es) are non-exhaustive
    In a pattern binding:
        Patterns of type ‘[Double]’ not matched:
            []
            [_]
            (_:_:_:_)
   |
82 |     where [x,y] = unsafeFromJSON json
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[28 of 29] Compiling Graphics.UI.Threepenny.Widgets ( src/Graphics/UI/Threepenny/Widgets.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Widgets.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny/Widgets.dyn_o )

src/Graphics/UI/Threepenny/Widgets.hs:88:5: warning: [-Wunused-do-bind]
    A do-notation statement discarded a result of type ‘Element’
    Suppress this warning by saying
      ‘_ <- element list # sink items (map <$> bdisplay <*> bitems)’
   |
88 |     element list # sink items (map <$> bdisplay <*> bitems)
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/Widgets.hs:95:21: warning: [-Wunused-matches]
    Defined but not used: ‘indices’
   |
95 |         lookupIndex indices Nothing    = Nothing
   |                     ^^^^^^^

src/Graphics/UI/Threepenny/Widgets.hs:98:5: warning: [-Wunused-do-bind]
    A do-notation statement discarded a result of type ‘Element’
    Suppress this warning by saying
      ‘_ <- element list # sink UI.selection bindex’
   |
98 |     element list # sink UI.selection bindex
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Graphics/UI/Threepenny/Widgets.hs:114:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      items :: WriteAttr Element [UI Element]
    |
114 | items = mkWriteAttr $ \i x -> void $ do
    | ^^^^^

src/Graphics/UI/Threepenny/Widgets.hs:115:41: warning: [-Wname-shadowing]
    This binding for ‘i’ shadows the existing binding
      bound at src/Graphics/UI/Threepenny/Widgets.hs:114:24
    |
115 |     return x # set children [] #+ map (\i -> UI.option #+ [i]) i
    |                                         ^
[29 of 29] Compiling Graphics.UI.Threepenny ( src/Graphics/UI/Threepenny.hs, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny.o, /home/simon/src/threepenny-gui/dist-newstyle/build/x86_64-linux/ghc-9.2.1/threepenny-gui-0.9.1.0/build/Graphics/UI/Threepenny.dyn_o )

Of course, not all of these warnings are equally interesting. But some probably are.

My inclination would be to enable -Wall, try to address most of the warnings, and maybe disable certain warnings on a per-file basis, e.g. use -Wno-missing-signatures in src/Graphics/UI/Threepenny/Attributes.hs.

What do you think, @HeinrichApfelmus?

Contributor guide