fixed type strings, removed last --> curried func
added seperate type module