accepting
    :: ()
    => (MS m, MonadReader (DS r) m, In Bool r)
    => Reflexive u
    => Eqs u a
    => IconsU m (Opponent u) a
    => IconsU m u a
    => Show (Slot a)
    => Bargain a ~ String
    => Step 'OtherT (Opponent u) a
    => ShowPart a
    => Valid (Zone u a) (Place (Opponent u) a)
    => Idx 'ProposalT ('Present u)
    -> ProposalData u a
    -> Part (Opponent u) a
    -> Transaction ProposalT (Present u) a
    -> (Part u a -> Roled Part a)
    -> m (ES (World a -> Ctx OtherT a (World a)))


accepting i p u x e = divClass "record accept" $ do
    el "ul" $ do 
      el "li" $ do
        elAttr "span" [("class","field")] $ text "when"
        divClass "timeshow" $ text $ pack $ show $ p ^. slot
      el "li" $ do
          elAttr "span" [("class","field")] $ text "where"
          divClass "placeshow" $ getIcon $ p ^. zone
      el "li" $ do
        elAttr "span" [("class","field")] $ text "what"
        divClass "bargainshow" $ text $ pack $ p ^. bargain
      el "li" $ do
        elAttr "span" [("class","field")] $ text "proponent"
        divClass "opponent" $ showPart $ e (p ^. proponent)
      acceptDriver (\ch -> step (Appointment i ch)  u) x
accepting
    :: ()
    => (MS m, MonadReader (DS r) m, In Bool r)
    => Reflexive u
    => Eqs u a
    => IconsU m (Opponent u) a
    => IconsU m u a
    => Show (Slot a)
    => Bargain a ~ String
    => Step 'OtherT (Opponent u) a
    => ShowPart a
    => Valid (Zone u a) (Place (Opponent u) a)
    => Idx 'ProposalT ('Present u)
    -> ProposalData u a
    -> Part (Opponent u) a
    -> Transaction ProposalT (Present u) a
    -> (Part u a -> Roled Part a)
    -> m (ES (World a -> Ctx OtherT a (World a)))
accepting i p u x e = divClass "record accept" $ do
    el "ul" $ do 
      el "li" $ do
        elAttr "span" [("class","field")] $ text "when"
        divClass "timeshow" $ text $ pack $ show $ p ^. slot
      el "li" $ do
          elAttr "span" [("class","field")] $ text "where"
          divClass "placeshow" $ getIcon $ p ^. zone
      el "li" $ do
        elAttr "span" [("class","field")] $ text "what"
        divClass "bargainshow" $ text $ pack $ p ^. bargain
      el "li" $ do
        elAttr "span" [("class","field")] $ text "proponent"
        divClass "opponent" $ showPart $ e (p ^. proponent)
      acceptDriver (\ch -> step (Appointment i ch)  u) x
accepting i p u x e = divClass "record accept" $ do
    el "ul" $ do 
      el "li" $ do
        elAttr "span" [("class","field")] $ text "when"
        divClass "timeshow" $ text $ pack $ show $ p ^. slot
      el "li" $ do
          elAttr "span" [("class","field")] $ text "where"
          divClass "placeshow" $ getIcon $ p ^. zone
      el "li" $ do
        elAttr "span" [("class","field")] $ text "what"
        divClass "bargainshow" $ text $ pack $ p ^. bargain
      el "li" $ do
        elAttr "span" [("class","field")] $ text "proponent"
        divClass "opponent" $ showPart $ e (p ^. proponent)
      acceptDriver (\ch -> step (Appointment i ch)  u) x