protected function switchType($argument)
    {
        $stringType = null;
        $type       = strtolower(gettype($argument));

        switch ($type) {
            case 'boolean':
                $stringType = sprintf(
                    '[%s "%s"]', ucwords($type),
                    ((int) $argument === 1) ? 'True' : 'False'
                );
                break;
            case 'integer':
            case 'double':
            case 'float':
            case 'string':
                $stringType = sprintf('[%s "%s"]', ucwords($type), $argument);
                break;
            case 'array':
                $stringType = sprintf(
                    '[%s {value: %s}]', ucwords($type), var_export($argument, true)
                );
                break;
            case 'object':
                $stringType = sprintf('[%s "%s"]', ucwords($type), get_class($argument));
                break;
            case 'resource':
                $stringType = sprintf('[%s]', ucwords($type));
                break;
            case 'null':
                $stringType = '[NULL]';
                break;
            default;
                $stringType = '[Unknown Type]';
                break;
        }

        return $stringType;
    }