move GenericImpl to gs-impl and Generic to gs-api