((function sin
   (signature float
     (parameters
       (declare (in) float angle))
     ((return (expression float sin (var_ref angle)))))

   (signature vec2
     (parameters
       (declare (in) vec2 angle))
     ((return (expression vec2 sin (var_ref angle)))))

   (signature vec3
     (parameters
       (declare (in) vec3 angle))
     ((return (expression vec3 sin (var_ref angle)))))

   (signature vec4
     (parameters
       (declare (in) vec4 angle))
     ((return (expression vec4 sin (var_ref angle)))))
))