data FullName { firstname: String, surname: String, }; #[list(item="FullName")] data NameList {}; #[error] enum ApiError { EmptyNameError, }; #[version(major = "1", minor = "0")] service Greetings { #[throws(ApiError::EmptyNameError)] fn GenerateGreeting(names: NameList) -> String; event VIPGreeted(name: FullName); #[field] event GreetingsRequested(count: u16); };