This is weird. JS fairly recently got "const" and "let" as superior replacements for the old "var" for declarations. Here I am busy changing to "const" to "let".

What is this all about? Well I just though I'd spend a moment reimplementing a little JS function in Rust. It was amazing how it went:

The JS code:

```
destinationPoint(distance, bearing, radius=6371e3) {
// sinφ2 = sinφ1⋅cosδ + cosφ1⋅sinδ⋅cosθ
// tanΔλ = sinθ⋅sinδ⋅cosφ1 / cosδ−sinφ1⋅sinφ2
// see mathforum.org/library/drmath/view/52049.html for derivation
const δ = distance / radius; // angular distance in radians
const θ = Number(bearing).toRadians();
const φ1 = this.lat.toRadians(), λ1 = this.lon.toRadians();
const sinφ2 = Math.sin(φ1) * Math.cos(δ) + Math.cos(φ1) * Math.sin(δ) * Math.cos(θ);
const φ2 = Math.asin(sinφ2);
const y = Math.sin(θ) * Math.sin(δ) * Math.cos(φ1);
const x = Math.cos(δ) - Math.sin(φ1) * sinφ2;
const λ2 = λ1 + Math.atan2(y, x);
const lat = φ2.toDegrees();
const lon = λ2.toDegrees();
return new LatLonSpherical(lat, lon);
}
```

The Rust version:

```
fn destinationPoint(&self, distance: f64, bearing: f64, radius: f64) -> LatLonSpherical {
// sinφ2 = sinφ1⋅cosδ + cosφ1⋅sinδ⋅cosθ
// tanΔλ = sinθ⋅sinδ⋅cosφ1 / cosδ−sinφ1⋅sinφ2
// see mathforum.org/library/drmath/view/52049.html for derivation
let δ = distance / radius; // angular distance in radians
let θ = bearing.to_radians();
let φ1 = self.lat.to_radians();
let λ1 = self.lon.to_radians();
let sinφ2 = Math::sin(φ1) * Math::cos(δ) + Math::cos(φ1) * Math::sin(δ) * Math::cos(θ);
let φ2 = Math::asin(sinφ2);
let y = Math::sin(θ) * Math::sin(δ) * Math::cos(φ1);
let x = Math::cos(δ) - Math::sin(φ1) * sinφ2;
let λ2 = λ1 + Math::atan2(y, x);
let lat = φ2.to_degrees();
let lon = λ2.to_degrees();
LatLonSpherical::new(lat, lon)
}
```

Spot the difference? Not much is there? I could likely translate the whole library with some simple find and replace.

Not shown is a little "Maths" struct so that the use of sin, cos, etc hardly need changing at all.

And the magical "#![feature(non_ascii_idents)]" to get those Greek symbols in there.