Preliminary work for universal fusion, fixing up some kernel logic