Source code on Github
{-# OPTIONS --cubical-compatible #-}
module Class.HasMembership.Instances where

open import Class.Prelude
open import Class.HasMembership.Core

instance
  M-List : HasMembership {} List
  M-List = record {LMem}
    where import Data.List.Membership.Propositional as LMem

  M-List⁺ : HasMembership {} List⁺
  M-List⁺ ._∈_ x xs = x   L⁺.toList xs

  M-Vec : HasMembership {} (flip Vec n)
  M-Vec ._∈_ = λ x  VMem._∈_ x
    where import Data.Vec.Membership.Propositional as VMem

  M-Maybe : HasMembership {} Maybe
  M-Maybe ._∈_ x mx = Mb.Any (_≡ x) mx
    where import Data.Maybe.Relation.Unary.Any as Mb