It seems confusing to have a name and type. What's the use case for having both?