function Component(props) {
  const a = compute(props.a);
  const b = compute(props.b);
  return <Foo a={a} b={b} />;
}
Should produce 3 scopes:

a: inputs=props.a, outputs=a
  a = compute(props.a);
b: inputs=props.b, outputs=b
  b = compute(props.b);
return: inputs=a, b outputs=return
  return = <Foo a={a} b={b} />