```python
def fill_template(template: str, values: dict) -> str:
    if not isinstance(template, str):
        raise ValueError("fill_template expects a string template")
    
    result = ""
    placeholder_index = 0
    
    for char in template:
        if char == "{":
            placeholder_name = ""
            while placeholder_index < len(template) and template[placeholder_index] in "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_":
                placeholder_name += template[placeholder_index]
                placeholder_index += 1
            if not placeholder_name:
                raise ValueError("fill_template: empty placeholder name")
            
            if placeholder_name not in values:
                raise ValueError(f"fill_template: unknown placeholder '{placeholder_name}'")
            
            result += str(values[placeholder_name])
        else:
            result += char
    
    return result
```