Hello,

> data LSet t where
>     Nil :: LSet Nil
>     --either add the new element or do nothing
>     Ins :: (Member a t b
>           , If b (LSet t) (LSet (a ::: t)) r)
>           => L a -> LSet t -> r

>
The constructor Ins needs to return an LSet. Maybe try replacing occurrences of r with (LSet r).

-Jeff


---

This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.