* Add file explanation headers

* Do the metaclass simplification of types vs. values

* Split into low-level and "approved" API

* Tests for generic functions creation
