Use macro to generate type with macro

Hey folks - I'm trying to write a macro that generates a peer type. I'd like the peer type to have a macro on it that also generates a peer type. Is this possible?

Currently the peer type is generated with the macro, but the second macro doesn't seem to generate another type.

struct Todo {
    let name: String
    let isDone: Bool

// which generates...

@API // the @API macro SHOULD generate another type, `struct TodoAPILive` - but it doesn't seem to work
protocol TodoAPI {
    func getTodos(...)

I think it’s a supported feature and should work. For example, the new Observation framework uses this approach. What makes you think it doesn’t work? If you expand GenerateViewModel macro in Xcode, the API macro in the generated code isn’t expanded automatically. You have to expand it manually to see the final code seen by compiler.
Edit: IIRC Observation doesn’t use peer macro. Do you mean this is a peer macro specific issue?

Yeah I expanded and expanded again but the second expansion didn't work. When I tried to use the type generated by @API it couldn't be found.