fetch hash keys which we expect to exist
otherwise obscure errors can arise where objects are nil at a later point
when we didn't expect them to be.
specifically fetch will raise an exception if a key does not exist and
no default value was provided