forall(dtype T)
void foo(T x) {

}

forall(dtype T)
void bar(T * y) { }

int main() {
  foo(5);
  foo("baz");
  foo(foo);
  bar(foo);
}
