anchor.diff:  /// Object for compiling operations.
   type OperationCompiler (schema:SwaggerObject, defCompiler:DefinitionCompiler, headers : seq<string*string>) =
   
  -    let compileOperation (schemaId:string) (tag:string) (op:OperationObject) =
  -        let methodName =
  -            let prefix = tag.TrimStart('/') + "_"
  -            if op.OperationId.StartsWith(prefix) // Beatify names for Swashbuckle generated schemas
  -                then nicePascalName <| op.OperationId.Substring(prefix.Length)
  -                else nicePascalName <| op.OperationId
  +    let compileOperation (schemaId:string) (methodName:string) (op:OperationObject) =
  +        if String.IsNullOrWhiteSpace methodName
  +            then failwithf "Operation name could not be empty. See '%s/%A'" op.Path op.Type
   
           let parameters =
               [let required, optional = op.Parameters |> Array.partition (fun x->x.Required)
  
positive.code:                 ty.AddXmlDoc (tagDef.Description)
              | _ -> ignore()
  
              operations
              |> List.map (compileOperation schemaId tag)
              |> ty.AddMembers
              ty
          )
  
negative.code: 
          let m = ProvidedMethod(methodName, parameters, retTy, IsStaticMethod = true)
          if not <| String.IsNullOrEmpty(op.Summary)
              then m.AddXmlDoc(op.Summary) // TODO: Use description of parameters in docs
          if op.Deprecated
              then m.AddObsoleteAttribute("Operation is deprecated", false)
  
  