Intuitive generics based functional interfaces with support for void, returns, multiple params and exceptions.