pub type Line2d = Line<f64, Vec2d>;
struct Line2d { pub p: Vector2<f64>, pub d: Vector2<f64>, /* private fields */ }
p: Vector2<f64>
d: Vector2<f64>