Tidying up a bit.
Split the type definitions out.
Tidying up a bit.
Test the KnowedUtil object.
Tidied up a bit, added KnowedUtil and tests for it.