code: def set_transform_interface_params(spec, input_features, output_features, are_optional = False):
      
      input_features = _fm.process_or_validate_features(input_features)
      output_features = _fm.process_or_validate_features(output_features)
  
      # Add input and output features
      for (fname, ftype) in input_features:
          input_ = spec.description.input.add()
          input_.name = fname
          datatypes._set_datatype(input_.type, ftype)
          if are_optional:
              input_.type.isOptional = are_optional
  
      for (fname, ftype) in output_features:
          output_ = spec.description.output.add()
          output_.name = fname
          datatypes._set_datatype(output_.type, ftype)
  
      return spec
docs: Common utilities to set transform interface params.