pushLabel :: Monad m => String -> MkPNMonad m value ()
    pushLabel label = state op
        where op mkpn = ((), mkpn')
                where mkpn' = mkpn { mkpnLabelStack = label : mkpnLabelStack mkpn }
pushLabel :: Monad m => String -> MkPNMonad m value ()
pushLabel label = state op
        where op mkpn = ((), mkpn')
                where mkpn' = mkpn { mkpnLabelStack = label : mkpnLabelStack mkpn }
pushLabel label = state op
        where op mkpn = ((), mkpn')
                where mkpn' = mkpn { mkpnLabelStack = label : mkpnLabelStack mkpn }