code: func (h *Hash) Delete(key Value) (*MrbValue, error) {
  	keyVal := key.MrbValue(&Mrb{h.state}).value
  	result := C.mrb_hash_delete_key(h.state, h.value, keyVal)
  
  	val := newValue(h.state, result)
  	if val.Type() == TypeNil {
  		val = nil
  	}
  
  	return val, nil
  }
docs: // Delete deletes a key from the hash, returning its existing value,
  // or nil if there wasn't a value.