(vereinfachte Darstellung)
type Decoder a = Reader (Map Literal Bool) a
class Decode c a where 
    decode :: c -> Decoder a
instance Decode Boolean Bool where 
    decode x = ... -- benutzt Minisat-API
instance (Decode c a) => Decode [c] [a] where
    decode xs = forM xs decode