(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))))