introduced a => b as shorthand for (kernel a b)