В Boo вы можете добавить макро атрибуты.Например:
def Foo([required]p):
pass
Это говорит компилятору о преобразовании метода Foo в следующее:
def Foo(p):
raise ArgumentNullException("p") if p is null
Немного отличается от статических примеров, но, тем не менее, интересно.