     /// Triangles constructed of each adjacent triple of vertices.
     var triangles: [Triangle] { get }
 
-    /// The
+    /// The angles of each of the triangles constructed of adjacent triples of vertices.
     var angles: [Angle] { get }
     
     /// Rotation order of vertices.
     var rotation: Rotation { get }
     
+    /// PolyBezier path constructed from `PolygonProtocol`-conforming type.
     var path: Path { get }
     
+    /// `ConvexPolygonContainer` created for testing collisions.
     var collisionDetectable: ConvexPolygonContainer { get }
     
     // MARK: - Initializers
     
+    /// Create a `PolygonProtocol`-conforming type with the given sequence of `vertices`.
     init <S: Sequence> (vertices: S) where S.Iterator.Element == Point
     
     // MARK: - Instance Methods
     
+    /// - Returns: `true` if a `PolygonProtocol` contains the given `point`.
     func contains(_ point: Point) -> Bool
 }
 

    
    // MARK: - Instance Properties
    
    var vertices: VertexCollection { get }
    
    /// Lines between each adjacent pair of vertices.

        return Path(first + rest + last)
    }
    
    /// - Returns: `true` if a `PolygonProtocol` contains the given `point`.
    public func contains(_ point: Point) -> Bool {
        
        func rayIntersection(edge: Line) -> Double? {
