The TrailLike class

A type class for trail-like things, i.e. things which can be
constructed from a concretely located Trail. Instances include
lines, loops, trails, paths, lists of vertices, two-dimensional
Diagrams, and Located variants of all the above.

Usually, type variables with TrailLike constraints are used as
the output types of functions, like

foo :: (TrailLike t) => ... -> t

Functions with such a type can be used to construct trails,
paths, diagrams, lists of points, and so on, depending on the
context.

Construct a trail-like thing connecting the given vertices with
linear segments, with the first vertex as the location. If no
vertices are given, the empty trail is used with the origin as
the location.