Drop the useless template magic for void drains.

Instead of using an additional trait to detect void rains, specialize
the io::result_of<Event> metafunction.