btw for my immediate needs i replace second delegate with value i.e. remove "lazy" from declaration and remove "()" in return so ifThrown loose some generity ```d nothrow CommonType!(T1, T2) ifThrown(E : Throwable = Exception, T1, T2) (lazy scope T1 expression, scope T2 expression2) ... try return expression(); catch (E) return expression2; ```