Should we allow `withAnnotations` to be either a Type or a list of Types ?