could we combine the two constructors into one?

Key(Type, {List<Type> annotatedWith:annotation})