function type inference working better; kernel signature types still wonky