Reminds me of a time I screwed up a Java project (well, not really; just took a long time to write code most Java devs wouldn't understand) by using attempting to use generics and Java's static typing system to build-up an ML-esque ADT system.
4-ply parameterized types (e.g. string array list option) do not attractive siblings in Java-land.
4-ply parameterized types (e.g. string array list option) do not attractive siblings in Java-land.