I like the latter idea.

I had to namespace the constructors (underneath the `api` object) because there is already a `Range` constructor in the global scope.