filling out lifetimes
starting to re-implement things
won over borrowed pointers, with a help of IRC
better macro
fix unsized_part_of_type failed even though ty is unsized