missing assumption in concPush
make better use of types