detachEventMap :: _ => m (ExprInfo o -> EventMap (o GuiState.Update))
detachEventMap =
    parenKeysEvent <&>
    \mkEvent exprInfo ->
    case exprInfoActions exprInfo ^. Sugar.detach of
    Sugar.DetachAction act | exprInfoIsSelected exprInfo ->
        mkEvent [has . MomentuTexts.edit, has . Texts.detach] (mempty <$ act)
    _ -> mempty
detachEventMap :: _ => m (ExprInfo o -> EventMap (o GuiState.Update))
detachEventMap =
    parenKeysEvent <&>
    \mkEvent exprInfo ->
    case exprInfoActions exprInfo ^. Sugar.detach of
    Sugar.DetachAction act | exprInfoIsSelected exprInfo ->
        mkEvent [has . MomentuTexts.edit, has . Texts.detach] (mempty <$ act)
    _ -> mempty
detachEventMap =
    parenKeysEvent <&>
    \mkEvent exprInfo ->
    case exprInfoActions exprInfo ^. Sugar.detach of
    Sugar.DetachAction act | exprInfoIsSelected exprInfo ->
        mkEvent [has . MomentuTexts.edit, has . Texts.detach] (mempty <$ act)
    _ -> mempty