Idris2/tests/idris2/interface011/FuncImpl.idr
2021-01-21 11:33:03 +00:00

8 lines
245 B
Idris

module FuncImpl
public export
interface Monad m => FooBar m where
Foo : {A : Type} -> A -> m A -> Type
bar : {A : Type} -> (ma : m A) -> m (DPair A (\ a => Foo a ma))
foobar : {A : Type} -> (ma : m A) -> map DPair.fst (bar ma) = ma