anchor.diff:    public::pushArr
     
   contains
  +  
  +  !> destructor of typeHtr1DIArr
  +  elemental subroutine purgeHtr1DIArr(this)
  +    type(typeHtr1DIArr),intent(inout)::this !< this 1D integer allocatable array
  +    
  +    if(allocated(this%dat)) deallocate(this%dat)
  +  end subroutine
     
     !> reallocate the 1D double allocatable array arr to have m entries
     pure subroutine realloc1DDArr(arr,m)
  
positive.code:       end if
      else
        allocate(arr(m,n))
      end if
    end subroutine
    
  
negative.code: module moduleBasicDataStruct
    private
    
    !> heterogeneous 1D integer allocatable array
    type,public::typeHtr1DIArr
      integer,allocatable::dat(:) !< 1D integer allocatable array
    contains
      !FIXME:final::purgeHtr1DIArr
    end type
    
    !> reallocate a generic allocatable array
    interface reallocArr
      module procedure::realloc1DDArr
      module procedure::realloc2DDArr
      module procedure::realloc1DHtr1DIArr
    end interface
    public::reallocArr
    
  