message: Complete the `object-types` api
diff: @@ -2,17 +2,52 @@ pub mod w3;
  pub use w3::*;
  pub fn method1(input: InputMethod1) -> Vec<Output> {
  - todo!()
  + vec![Output {
  + prop: input.arg1.prop,
  + nested: Nested {
  + prop: input.arg1.nested.prop,
  + },
  + },
  + Output {
  + prop: input.arg2.clone().unwrap().prop,
  + nested: Nested {
  + prop: input.arg2.unwrap().circular.prop,
  + },
  + }
  + ]
  }
  pub fn method2(input: InputMethod2) -> Option<Output> {
  - todo!()
  + if input.arg.prop.is_empty() {
  + return None;
  + }
  + Some(Output {
  + prop: input.arg.prop,
  + nested: Nested {
  + prop: input.arg.nested.prop,
  + }
  + })
  }
  pub fn method3(input: InputMethod3) -> Vec<Option<Output>> {
  - todo!()
  + vec![
  + None,
  + Some(
  + Output {
  + prop: input.arg.prop,
  + nested: Nested {
  + prop: input.arg.nested.prop,
  + }
  + }
  + )
  + ]
  }
  pub fn method5(input: InputMethod5) -> Output {
  - todo!()
  + Output {
  + prop: String::from_utf8(input.arg.prop).unwrap(),
  + nested: Nested {
  + prop: "nested prop".to_string()
  + }
  + }
  }
  