started on reflection, started on the Type class for Echoes and Cooper