I think it wouldn't be a bad idea to investigate a new way to express attributes, but I think no matter what we do, we need to rein in the explosion of attributes that needs to be put on every function.
For that I think attribute inference is the way to go - though in a bit more structured fashion than it was originally proposed ages ago ("just infer everything")