Revisit and fix type limited AttributeKey API