@@ -32,18 +32,30 @@ import Node.Encoding as NE
3232import Node.Path (FilePath)
3333
3434newtype SessionId = SessionId String
35+
3536derive instance newtypeSessionId ∷ Newtype SessionId _
37+derive newtype instance eqSessionId ∷ Eq SessionId
38+derive newtype instance ordSessionId ∷ Ord SessionId
3639
3740newtype WindowHandle = WindowHandle String
41+
3842derive instance newtypeWindowHandle ∷ Newtype WindowHandle _
43+derive newtype instance eqWindowHandle ∷ Eq WindowHandle
44+derive newtype instance ordWindowHandle ∷ Ord WindowHandle
3945
4046currentWindow ∷ WindowHandle
4147currentWindow = WindowHandle "current"
4248
4349data FrameId = ByElementId String | ByIndex Int | TopFrame
4450
51+derive instance eqFrameId ∷ Eq FrameId
52+derive instance ordFrameId ∷ Ord FrameId
53+
4554newtype Element = Element String
46−derive instance newtypeElementId ∷ Newtype Element _
55+
56+derive instance newtypeElement ∷ Newtype Element _
57+derive newtype instance eqElement ∷ Eq Element
58+derive newtype instance ordElement ∷ Ord Element
4759
4860decodeElement ∷ Json → Either String Element
4961decodeElement = J.decodeJson >=> \obj →