...
despite some things broken, like nested types, and direct recursivity, this works for PointLib!