experimental macro support

Do we need a cast here?