@@ -54,6 +54,8 @@ instance eqKey :: Eq Key where
5454 eq <$> ((fromKey a) :: F String) <*> fromKey b
5555 <|>
5656 eq <$> ((fromKey a) :: F DateTime) <*> fromKey b
57+ <|>
58+ eq <$> ((fromKey a) :: F (Array Key)) <*> fromKey b
5759 where
5860 runIdentity :: forall a. Identity a -> a
5961 runIdentity (Identity x) = x
@@ -68,6 +70,8 @@ instance ordKey :: Ord Key where
6870 compare <$> ((fromKey a) :: F String) <*> fromKey b
6971 <|>
7072 compare <$> ((fromKey a) :: F DateTime) <*> fromKey b
73+ <|>
74+ compare <$> ((fromKey a) :: F (Array Key)) <*> fromKey b
7175 where
7276 runIdentity :: forall a. Identity a -> a
7377 runIdentity (Identity x) = x
@@ -82,6 +86,8 @@ instance showKey :: Show Key where
8286 (show <$> (fromKey a :: F String))
8387 <|>
8488 (show <$> (fromKey a :: F DateTime))
89+ <|>
90+ (show <$> (fromKey a :: F (Array Key)))
8591 where
8692 format :: forall a. Identity (Either a String) -> String
8793 format (Identity x) =