Kernel refactor [preview]

For @ajs6f comments.
Yeah, but not without understanding our own intentions better. We want at least to:

- Simplify our current code.
- Make sure that people can still distinguish amongst the various ways triples come from a resource.
- Leave room for extension.

Right?