f: ([<a>], <b>) → (<b>, <a>)

Notice that x must be a list, because of expression head(x).