anchor.diff:      this%Initialized = .false.
   
       end subroutine TInterpGrid2D_Clear
  -
  -
  -    subroutine TInterpGrid2D_Free(this)
  -    Type(TInterpGrid2D):: this
  -
  -    call this%Clear()
  -
  -    end subroutine TInterpGrid2D_Free
   
       function TInterpGrid2D_Value(this,x,y,error) result (res)
       !Z matrix not stored internally to save mem, so must pass again
  
positive.code:     procedure :: SaveState => TCubicSpline_SaveState
      procedure :: IntegralArray => TCubicSpline_IntegralArray
      generic :: Init => TCubicSpline_Init, TCubicSpline_InitInt
      FINAL :: TCubicSpline_Free !not needed in standard, just for compiler bugs
      end Type
  
      Type, extends(TSpline1D) :: TRegularCubicSpline
  
negative.code:     if (allocated(this%X)) deallocate(this%X)
  
      end subroutine TCubicSpline_Clear
  
      subroutine TCubicSpline_FindNext(this, x, llo, xlo, xhi)
      !No error checking, assumes x>= x at point point llo, updating llo
  