PLFA agda exercises
------------------------------------------------------------------------
-- The Agda standard library
--
-- Type constructors giving rise to a semigroup at every type
-- e.g. (List, _++_)
------------------------------------------------------------------------

{-# OPTIONS --cubical-compatible --safe #-}

module Effect.Choice where

open import Level

private
  variable
    ℓ ℓ′ : Level
    A  : Set ℓ

record RawChoice (F : Set ℓ → Set ℓ′) : Set (suc ℓ ⊔ ℓ′) where
  infixr 3 _<|>_ _∣_
  field
    _<|>_ : F A → F A → F A

  -- backwards compatibility: unicode variants
  _∣_ : F A → F A → F A
  _∣_ = _<|>_