What is returned if `_source=false` ? Just index, type, id?

Does this take precedence over `fields`? Does it combine with `fields`?  E.g. what happens in these scenarios:

 - No fields stored: `?fields=a,b&_source=false`
 - `a` is stored:  `?fields=a,b&_source=false`
 - `a` is stored:  `?fields=a,b&_source=true`

Basically, it's confusing how fields and _source interact with each other.