> 
> void foo(T)(ref T t) if (isPrime!(T)) { ... }
> void foo(T)(ref T t) if (!isPrime!(T)) { ... }
> 
What is the difference b/n
void foo(T)(ref T t) if (isPrime!(T)) { ... }
and
void foo(T)(ref T t) static if (isPrime!(T)) { ... }
as both of them seems to be a compile time check for me.
Thanks, Gzp