protected function rParseValue($parsableValue)
    {
        $ret = array();
        foreach ($parsableValue as $key => $value) {
            if (is_array($value) || $value instanceof \ArrayAccess || is_object($value)) {
                $ret[$key] = $this->rParseValue($value);
                continue;
            }
            $ret[$key] = $this->normalizeType($value);
        }
        if (empty($ret)) {
            //value did not traverse so return the type
            $ret = $this->normalizeType($parsableValue);
        }

        return $ret;
    }