The caveats here are that it will only ever be possible to "add" additional options to the rule in the same way options can be appended to a call chain already (because they're processed using the same mechanism). Annotations can also only ever take primitive types as arguments (so no specifying new .fakeImagery(TileSourceRule ...) arguments)