I turned Markdown into a protocol for generative UI