Added Keywordisation methods. Removed custom datastructures and replaced with transient construction of normal clojure implementations. Tidied up some of the mulit-arity methods and functions to nest nicer.