I am interested in persuing this. There are a few annoyances in the current system and it would be great to put things on a more logical foundation.
There should probably be a canonical list of test cases for this project, including many of the higher-ranked trait bound-related issues (I know I have submitted a few) - as well as some other things (I think there are still some problems relating to opt-in built-in traits).
I have a question also - I think you mentioned you were going to do a blog post, but how do lifetimes fit into the whole chalk project? The way I see lifetimes being modelled, is as traits - something like the following:
trait 'a {}
impl<'a> 'a for () {} // and bool, i32, str etc
impl<'a, 'b: 'a, T: 'b> 'a for &'b T {} // and &'b mut T
impl<'a, T: 'a, U: 'a> 'a for T + U {} // all enums
impl<'a, T: 'a, U: 'a> 'a for T * U {} // all structs, tuples etc
Does this look anything like your model/plans for this new improved trait system? Or am I way off?