anchor.diff:          let genSubSynType = generateSynType (size/2)
           Gen.oneof
               [
  -                Gen.map2 (fun expr typ -> SynExpr.Typed(expr, typ, zero)) genSubSeqExpr genSubSynType
  +                // Typed expressions should have parenthesis on the top level
  +                Gen.map2 (fun expr typ -> SynExpr.Paren(SynExpr.Typed(SynExpr.Paren(expr, zero, None, zero), typ, zero), zero, None, zero)) genSubSeqExpr genSubSynType
                   genSubSeqExpr
               ]
   
  
positive.code:         |> Seq.toArray
      let startIndex = positions.[r.StartLine-1] + r.StartColumn
      let endIndex = positions.[r.EndLine-1] + r.EndColumn-1
      Input (source.[startIndex..endIndex])
  
  let toSynExprs (Input s) =
      match (try Some (parse false s) with _ -> None) with
  
negative.code:     | [] -> 
          stdout.WriteLine("Can't shrink {0}", sprintf "%A" input)
          Seq.empty
      | exprs ->         
          let (Input source) = input
          Seq.collect shrinkSynExpr exprs 
          |> Seq.choose (fromExprRange source)
          |> Seq.distinct
  
  type Generators = 
  