using can_simplify directly
merge CallProxy and HybridCall functionality into a single class to avoid some code redundancy
more explicit message about impossible subset of a grouped_df. #691