Refactored type parameters
Some work on higher order kinds
More work on higher order kinds
Simple higher order kinds example working
Move Core to it's own file.