a simple and typesafe link representation