This has been proposed and discussed in #215, as a possible use case for the newly added type argument to attr.ib() #239
quoting @hynek #215 (comment)
a good first step would be to add generic class-wide validators (@attr.s(validator=whatever)) and then make type checking a special case of it, possibly with some syntactic sugar.