T distanceTo(Point that) const {
immutable real xDistance = x - that.x;
immutable real yDistance = y - that.y;
immutable distance = sqrt((xDistance * xDistance) +
(yDistance * yDistance));
Point!T getResponse(T : Point!T)(string question) {
writefln("%s (Point!%s): ", question, T.stringof);
auto x = getResponse!T(" x");
auto y = getResponse!T(" y");
auto point3 = getResponse!(Point!int)("What's the point? ");
auto point4 = getResponse!(Point!int)("What's the point? ");
writeln("Distance: ", point3.distanceTo(point4));