message: [ocaml_gen] fix edge-case with single item tuple struct
diff: @@ -482,18 +482,6 @@ pub fn derive_ocaml_gen(item: TokenStream) -> TokenStream {
  }
  }
  Fields::Unnamed(fields) => {
  - // TODO: when there's a single element,
  - // this will produce something like this:
  - //
  - // ```
  - // type ('field) scalar_challenge = 'field
  - // ```
  - //
  - // shouldn't we instead produce something like this?
  - //
  - // ```
  - // type ('field) scalar_challenge = { inner: 'field }
  - // ```
  let mut punctured_generics: Vec<String> = vec![];
  let mut fields_to_call = vec![];
  for field in &fields.unnamed {
  @@ -529,9 +517,19 @@ pub fn derive_ocaml_gen(item: TokenStream) -> TokenStream {
  }
  }
  + // when there's a single element,
  + // this will produce something like this:
  + //
  + // ```
  + // type ('field) scalar_challenge = { inner: 'field }
  + // ```
  + if generics_ocaml.len() == 1 {
  + format!("{ inner: {} }", generics_ocaml[0])
  + } else {
  generics_ocaml.join(" * ")
  }
  }
  + }
  _ => panic!("only named, and unnamed field supported"),
  };
  