(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