Here and elsewhere I replicated the AttributeUsage attributes from the BCL.