Added __str__ method
Removed too "clever" generator
Shortened corners() body
Refactored and cleaned up angle_to_point()