-- | Values with a @visible@ boolean accessor. module Data.Geo.OSM.Accessor.Visible where import Data.Geo.OSM.Accessor.Accessor class Visible a where visible :: a -> Bool setVisible :: Bool -> a -> a makeVisible :: a -> a makeVisible = setVisible True makeInvisible :: a -> a makeInvisible = setVisible False usingVisible :: a -> (Bool -> Bool) -> a usingVisible = visible `using` setVisible