scope (global) [ [foo] : (f : Foo) -> float [vertex__vs_main] : () [Foo] : {some_data : float} scope (Foo) [ [some_data] : float ] scope (foo) [ [f] : Foo ] scope (vertex__vs_main) [ [d] : float [f] : Foo ] ]