anchor.diff:              errorR(InternalError("Unexpected failure in getting super type",mWholeExpr))
               None,tpenv
   
  -    let expr,tpenv = 
  -        let fldsList = fldsList |> List.choose (fun (n, v) -> if v.IsSome then Some (n, v.Value) else None)
  -        TcRecordConstruction cenv overallTy env tpenv optOrigExpr  overallTy fldsList mWholeExpr
  +    let expr,tpenv = TcRecordConstruction cenv overallTy env tpenv optOrigExpr overallTy fldsList mWholeExpr
   
       let expr = 
           match superTy with 
  
positive.code:               let oldv,oldve = mkCompGenLocal mWholeExpr "inputRecord" overallTy
                Some (olde,oldv,oldve), tpenv
  
      let fldsList = 
          let flds = 
              [
  
negative.code:             errorR(Error(FSComp.SR.tcObjectConstructionExpressionCanOnlyImplementConstructorsInObjectModelTypes(),mWholeExpr))
      else
          if isNil flds then 
              let errorInfo = if hasOrigExpr then FSComp.SR.tcEmptyCopyAndUpdateRecordInvalid() else FSComp.SR.tcEmptyRecordInvalid()
              error(Error(errorInfo,mWholeExpr))
  
          if isFSharpObjModelTy cenv.g overallTy then errorR(Error(FSComp.SR.tcTypeIsNotARecordTypeNeedConstructor(),mWholeExpr))
  