setBol :: Bool -> Parser ()
setBol b = Parser $ \s -> if s^.parserBol == b
  then Pure () mempty
  else Commit () (s & parserBol .~ b) mempty
setBol :: Bool -> Parser ()
setBol b = Parser $ \s -> if s^.parserBol == b
  then Pure () mempty
  else Commit () (s & parserBol .~ b) mempty
setBol b = Parser $ \s -> if s^.parserBol == b
  then Pure () mempty
  else Commit () (s & parserBol .~ b) mempty