desktopDimension :: Simple Lens (PageArrangement a) DesktopDimension 
desktopDimension = lens getter (error "setter for desktopDimension is not defined")
  where getter :: PageArrangement a -> DesktopDimension
        getter (SingleArrangement _ (PageDimension dim) _) = DesktopDimension dim
        getter (ContinuousArrangement _ ddim _ _) = ddim 
desktopDimension :: Simple Lens (PageArrangement a) DesktopDimension
desktopDimension = lens getter (error "setter for desktopDimension is not defined")
  where getter :: PageArrangement a -> DesktopDimension
        getter (SingleArrangement _ (PageDimension dim) _) = DesktopDimension dim
        getter (ContinuousArrangement _ ddim _ _) = ddim 
desktopDimension = lens getter (error "setter for desktopDimension is not defined")
  where getter :: PageArrangement a -> DesktopDimension
        getter (SingleArrangement _ (PageDimension dim) _) = DesktopDimension dim
        getter (ContinuousArrangement _ ddim _ _) = ddim 