Write a Python function `min_val` that takes a heterogeneous list as input and returns the smallest integer value from the list. The list may contain elements of various types, but only integers should be considered when determining the minimum value.
#### Example Usage
```python [main.nopy]
print(min_val(['Python', 3, 2, 4, 5, 'version'])) # Output: 2
print(min_val(['Python', 15, 20, 25])) # Output: 15
print(min_val(['Python', 30, 20, 40, 50, 'version'])) # Output: 20
```
#### Constraints
- The input list will always contain at least one integer.
- Non-integer elements should be ignored when finding the minimum value.