Typescript data structures and algorithims. Based on google guava