added support for partial evaluation of primitives. also fixed an embarrassing bug in utilities
added bottom