Java types, how do they even work
add set to example, in addition to some documentation