syntax_data: {"ast_node_type":"function","tokens":[{"end":91,"kind":"keyword","start":0,"text":"pub"}]}
source_snippet:     pub fn new(cx: I, param_env: I::ParamEnv, predicate: impl Upcast<I, P>) -> Goal<I, P> {
context_before: impl<I: Interner, P> Goal<I, P> {
context_after:         Goal { param_env, predicate: predicate.upcast(cx) }