Add simple addresses.
Add compound addresses—untested.

I was hoping to have compound addresses constructed with methods, not functions.
Then it would look like: Line(0).To(End()), not To(Line(0), End()).
But it doesn't work, because Address needs to be an interface,
and interfaces can't have methods.