Ultimately I want to be able to do something like this: bool silent(T,ARGS...)(T delegate(ARGS) dgTry,ARGS args) { try { dgTry(args); return true; } catch(Object o) return false; } delegate(whatever W){W.dosomething();}.silent(somevar); Prototype like programming is very nice :) Regards, bobef