&for<'a> Tr<'a> + Send is parsed as &(for<'a> Tr<'a> + Send) while RFC 438 tells that it should be parsed as (&for<'a> Tr<'a>) + Send and therefore be invalid.
Another example: Fn() -> for<'a> Tr<'a> + Send is parsed as Fn() -> (for<'a> Tr<'a> + Send) instead of (Fn() -> for<'a> Tr<'a>) + Send.
cc #39158 (comment)