Reorganization.
Added support for optional and NilType for equality.