{-# LANGUAGE MultiParamTypeClasses #-} module HaskellWorks.Data.Json.Value.Internal where import Data.Map data GenJsonValue s n = JsonString s | JsonNumber n | JsonObject (Map s (GenJsonValue s n)) | JsonArray [GenJsonValue s n] | JsonBool Bool | JsonNull deriving (Eq, Show) class GenJsonValueAt s n a where jsonValueAt :: a -> Maybe (GenJsonValue s n)