This form: (cstruct %foo "foo" …) errors, as “%FOO” ends up literally in some C format string. “%” needs to be escaped as “%%”. CSTRUCT is probably not the only place it happens, but it’s where I’ve run into it.