protected function parseRouteParam($part, $targetPart)
    {
        preg_match('/\[(d|s)(?:\:([0-9a-zA-Z]*))?\]/', $part, $matches);

        $value = null;
        
        // If the part is a data type we need this route parameter
        if ($matches[1] === 'd' && is_numeric($targetPart)) {
            // Transform the value into the correct data type
            $value = $targetPart * 1;
        } else if ($matches[1] === 's' && is_string($targetPart)) {
            $value = $targetPart;
        }
        
        $key = '';
        if (isset($matches[2])) {
            $key = $matches[2];
        }
        
        return [$key, $value];
    }