anchor.diff:    i=8
     print *,f.plus.g
     print *,h+i
  +  magnitude =f
  +  print *,magnitude
   end program t
  
positive.code:     integer::y
    end type vector
    interface operator (.plus.)
       module procedure addw
    end interface operator (.plus.)
  contains
    function addw(a,b)
      type(vector),intent(in)::a,b
      type(vector)::addw
      addw%x=a%x+b%x
      addw%y=a%y+b%y
    end function addw
  end module m
  
  program t
  
negative.code:   implicit none
    type(vector)::f,g
    integer::h,i
    real::magnitude
    f%x=7
    f%y=8
    g%x=9
  