(program (struct Foo [(:= some_data float)]) (fun foo -> float [(:= f Foo)] (return (* f.some_data 2))) (fun vertex vs_main [] (:= f Foo) (= f.some_data 4) (:= d float (foo f))))