k -> Type) | m -> k where
                  
                  
                    (~~>) = (->)
                  
                  
                    (~~>) = Natural
                  
                  
                  
                  
                  
                  infixr 0 ~~>
                  
                  
                  
                  
                  
                  newtype Natural (a :: j -> k) (b :: j -> k) = Natural { runNatural :: forall (x :: j). a x ~~> b x }
                  
                  
                  
                  
                  
                  когда включаю StandaloneKindSignatures код ломается и бросает ошибку
                  
                  
                  
                  
                  
                   Expected kind ‘k -> k -> *’,
                  
                  
                      but ‘Natural’ has kind ‘(j -> k) -> (j -> k) -> *’
                  
                  
                  
                  
                  
                  это баг?
                  
                  
                
да вроде должна быть ошибка и без sks тут всегда должна быть ошибка в ньютайпе, если конечно чет не поменялось в последних ghc, что разрешили неьютапы делать для любых "каиндов"
Там поле вполне себе Type, в чем проблема?
Обсуждают сегодня