Fiddling around with various haskell approaches
Basic outline of object oriented C types