The callable_when annotation can take a list of states that a function can be called in. This reduced the total number of annotations needed and makes writing more complicated behaviour less burdensome.
To allow the the callable_when attribute to hold a variable number of states a VariadicEnumArgument Tablegen attribute classes was added. Future work should replace the various Variadic attribute classes with a single class that takes another attribute as a parameter. A FIXME has been added to indicate this at the request of Richard Smith.