-#define io_wake(conn, fn, arg) \
- io_wake_((conn), \
- typesafe_cb_preargs(struct io_plan, void *, \
- (fn), (arg), struct io_conn *), \
- (arg))
-void io_wake_(struct io_conn *conn,
- struct io_plan (*fn)(struct io_conn *, void *), void *arg);
+#define io_wake(conn, plan) (io_plan_other(), io_wake_((conn), (plan)))
+void io_wake_(struct io_conn *conn, struct io_plan plan);