anchor.diff:                  (itemInCollGenerator:Translator.ItemInCollectionImpl).Invoke(itm, coll)) |> Some
           |_ -> None
           
  -    let addTypeParam f =
  -        match f with
  -        |None -> None
  -        |Some (f:System.Reflection.MemberInfo->string) ->
  -            Some (fun (mi:System.Reflection.MemberInfo) (_:System.Type) -> f mi)
  -
   module ExpressionToSqlImpl =
       let translateFsSingle<'T>
               quoter
  
positive.code:     ///multiple F# quotations - full
      static member Translate(quoter, separator, conditions, includeWhere, customNameExtractor, customParameterValueMap, itemInCollGenerator) =
          ExpressionToSqlImpl.translateFsMultiple quoter separator conditions includeWhere customNameExtractor customParameterValueMap itemInCollGenerator
  
negative.code:             
  type ExpressionToSql =
     
      [<Obsolete("this overload doesn't expose all parameters due to ambiguous overload resolution issues caused by optional parameters")>]
      static member Translate(quoter, conditions, ?includeWhere, ?customNameExtractor) =
          ExpressionToSqlImpl.translateFsSingle 
              quoter conditions includeWhere customNameExtractor None None
  
      [<Obsolete("this overload doesn't expose all parameters due to ambiguous overload resolution issues caused by optional parameters")>]
      static member Translate(quoter, conditions, includeWhere, customNameExtractor, customParameterValueMap) =
          ExpressionToSqlImpl.translateFsSingle 
              quoter conditions includeWhere customNameExtractor customParameterValueMap None
  
      [<Obsolete("this overload doesn't expose all parameters due to ambiguous overload resolution issues caused by optional parameters")>]
      static member Translate(quoter, separator, conditions, ?includeWhere, ?customNameExtractor) =
          ExpressionToSqlImpl.translateFsMultiple quoter separator conditions includeWhere customNameExtractor None None
  
      [<Obsolete("this overload doesn't expose all parameters due to ambiguous overload resolution issues caused by optional parameters")>]
      static member Translate(quoter, separator, conditions, includeWhere, customNameExtractor, customParameterValueMap) =
          ExpressionToSqlImpl.translateFsMultiple quoter separator conditions includeWhere customNameExtractor customParameterValueMap None
  
      ///single Linq expression
      static member Translate<'T>(quoter, conditions:Expression<Func<'T, bool>>, 
              [<Optional; DefaultParameterValue(true)>]includeWhere, 
  