This instance has a default type of '*' for ns ct and a. Or use poly views for both n and specific concrete views:
(Verb (n :: k1) (s :: Nat) (ct :: [*]) a)
The correct instance will look like this:
instance GetEndpoint (Verb (n :: k1) (s :: Nat) (ct :: [*]) a) (Verb ns ct a) 'True where getEndpoint _ _ _ _ server = server
If you don't want to include PolyKinds (he introduced a bunch of other errors), you can use the more limited StdMethod for n:
instance GetEndpoint (Verb (n :: StdMethod) (s :: Nat) (ct :: [*]) a) (Verb ns ct a) 'True where getEndpoint _ _ _ _ server = server
The complete code (compiling and even working as expected), can be found here .
Thanks again Karsten for this very quick help!
source share