Currently,
cpara_SList :: All c xs => proxy c -> r ('[] :: [k]) -> (forall (y :: k) (ys :: [k]). (c y, All c ys) => r ys -> r (y ': ys)) -> r xs
allows to put constraint on the "current" element(y) in the type list. I found myself (re)writing cpara_SList that allows to put constraint on the both the current element y and remaining types in the type list ys like following:
ccpara_SList ::
Proxy c ->
Proxy d ->
r '[] ->
(forall y ys. (c y, d ys, MyAll c d ys) => r ys -> r (y ': ys)) ->
r xs
Would this be something that can be upstreamed? I don't see any drawbacks since it's just more general version of original cpara_SList. If yes, I will make a PR. I already have the implementation
Currently,
allows to put constraint on the "current" element(
y) in the type list. I found myself (re)writingcpara_SListthat allows to put constraint on the both the current elementyand remaining types in the type listyslike following:Would this be something that can be upstreamed? I don't see any drawbacks since it's just more general version of original
cpara_SList. If yes, I will make a PR. I already have the implementation