function padLeft(value: string, padding: string | number) {
	// ...
}

Literal Types 과 함께 사용하면, 인자를 강하게 좁힐 수 있다.

function offset(direction: 'left' | 'right' | 'top' | 'bottom', size: number) {
	// ...
}

Type Guards 와 함께 사용하면, 타입을 좁힐 수 있다.

function position(value: string | number) {
	if (typeof value === 'string') {
		return value.indexOf('');
	}
	// 여기부턴 number
	return value;
}