Probably because shebang is not TokenStream but a rather special thing which can be appeared only at the start of File. https://docs.rs/syn/1.0.5/src/syn/file.rs.html#83 It seems like parsing is not supported because it cannot be represented as ParseStream either.
In other words, shebang doesn't obey Rust's lexical rules. Thus, it cannot be decomposed to Rust tokens i.e. TokenStream.
Such special header has to be stripped from str representation before transformed to TokenStream representation.
This approach may appear to work in practice but it is not correct because it doesn't work when shebang isn't a invalid token stream e.g. unbalanced parentheses or unused character such as backtick or control characters.