summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_compile/DeepSubsumption03.hs
blob: 8f8c465047344e65b3537abd7c051ea1af0946d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
{-# LANGUAGE DeepSubsumption #-}
{-# LANGUAGE NoPolyKinds #-}
module DeepSubsumption03 where

class Profunctor p where
  dimap :: (s -> a) -> (b -> t) -> p i a b -> p i s t

type Iso s t a b = forall p i . Profunctor p => p i a b -> p i s t

iso :: (s -> a) -> (b -> t) -> Iso s t a b
-- iso f g = dimap f g
iso = dimap