data Gauge
mkMultiChoice :: [(a,Gauge Bool)]
-> IO (Gauge [(a,Int)])
constrainedMultiChoice :: ((a,Int) -> Bool -> [(a,Int)] -> ([(a,Int)],[(a,Int)]))
-> [(a,Gauge Bool)]
-> IO (Gauge [(a,Int)])