@korzhyk I’ve been sitting on this change for a few days now, and it isn’t settling well with me. This function seems pretty complicated for the percentage of people who will be using it.

What about not making it recursive? I think that would make me happier with the changes.

```javascript
// This would no longer be supported:
!= css('normalize', { media: 'print', data: { 'turbolinks-track': function(){return true} } })

// This would still be supported:
!= css('normalize', { media: 'print', 'data-turbolinks-track': true })
```

Also, I think function execution seems unneeded to me — you could achieve the same thing by just tacking on some parenthesis to the function when calling `css()`, and we wouldn’t have to have code for it.