I started reading about Unikernels, a kernel built just for a particular task, lately. Found this nice article that covers several different ones. Mirage looks interesting.
Why am I looking at this. Well as the article goes on, it can reduce your “cloud” server costs by having a custom kernel for just your application (less memory, disk, etc).