put the type parameter on the function get_root instead of the impl