experimental angle API, try to use this instead of reals when working with angles
some functions adapted to use angle type