nothrow too and other future attributes too. Funny, that was going to be my next comment. :) The only thing that scares me a bit is that code like this:public(isPublic!(TFn)) static(isStatic!(TFn)) int memoize(TFn)(TFn fn) pure(isPure!(TFn)) if (isCallable!(TFn)) { //etc. }
A question,Is this the only use case? I mean do we always want something like "xxx(isxxx(T))"?
If so, this mess is quite pointless.
