That is not surprising - the related subject of type extensions is one of the more complex aspects of Oberon. Unfortuantely, I can't hope to explain it in a few sentences here. What I recommend you do is first of all have a look at the source code of the
Extensions module in the Astrobe
Examples folder to see an example of its use.
After that, read Part 4 "Object Oriented Programming" in Niklaus Wirth's book "Programming in Oberon" which you can download from here:
http://www.astrobe.com/Oberon-07.htm
Note that the subject of the book is Oberon not Oberon-07 so expect there to be a few differences. They should be minimal and hopefully will not cause too much confusion.