anchor.diff:  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
     
  
positive.code:       end if
      else
        allocate(arr(m,n))
      end if
    end subroutine
    
  
negative.code:   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)
  