experimental macro support

Why asInstanceOf?