automatically instrument a function when you expressed a type