newtype ResizableTall' a = ResizableTall' (ResizableTall a) deriving (Show, Read) instance LayoutClass ResizableTall' a where doLayout (ResizableTall' inner) r s = do (rs, l') <- doLayout inner r s let l = case l' of Nothing -> Nothing Just l'' -> Just (ResizableTall' l'') pure (rs, l) handleMessage (ResizableTall' inner) m = do l' <- handleMessage inner m case l' of Nothing -> pure Nothing Just l'' -> pure (Just (ResizableTall' l'')) description (ResizableTall' inner@(ResizableTall {_nmaster})) = description inner <> " " <> show _nmaster