This SO answer uses a where syntax I'm unfamiliar with:
fn readfile<'a, T: ?Sized>(filename: &str) -> Result<Box<Outer<'a, T>>, Box<std::error::Error>> where for<'de> T: Deserialize<'de> + 'a { ... What does the for mean?
Where is this documented?