Parameterise Names by index type, add documenation

Improve type safety by having Names be a map from the wrapper
type (i.e. Object, Attribute) instead of Int, reducing the need for
unwrapping.

Signed-off-by: Maximilian Marx <mmarx@wh2.tu-dresden.de>