Ported from
this Observable notebook
for
this
forum thread.