The documentation is very concise (probably too much) and lacks examples. Due to its conciseness sometimes it is not easy to understand and somehow it is cryptic.
OATH provides a wide set of classes. It does not seem easy to use the class services provided, especially for a beginner. Services that you would expect to find at a given level of the hierarchy sometimes are not there and you have to go upwards through the tree to find them, sometimes with names not directly related to what you are using. The services provided are not many, but their interface is simple to use.
This feature was not evaluated directly. However, a brief discussion on the way to extend the existing class library is present in the OATH Reference Manual [2] (OATH(30), section Developing New OATH Types).
The available classes are perhaps too abstract. I would have preferred less abstract and more "practical" classes, but probably this would have been against the basic assumptions their designers of OATH made. Among the, there are classes for integers, rational, real, complex.
The provided hierarchy is that of a tree, where only single inheritance is supported. No templates (parameterized types) are provided, and no exception handling as well. Garbage collection is supported and appears to be even sophisticated in terms of the kinds of GC available.