    MODULE MyRealModule
      TYPE MyReal
        REAL x			! <---- Our own REAL type
      END TYPE MyReal
    END MODULE MyRealModule   

! ==================================

  program Main
   use MyRealModule
   implicit none

   integer i
   REAL,         DIMENSION(3,3) :: A        
   TYPE(MyReal), DIMENSION(3,3) :: B

   DATA A / 1, 0, 0, 0, 1, 0, 0, 0, 1 /

   B = A

   DO i = 1, 3
     write (6, *) B(i, :).x 
   END DO
  end program

