Various improvements

Added typedef for unique_ptr<yield_type>
Added default implementation of next_ptr
Working demo!