stopped using explicit DelayUntilTyped, switched to typed_macro