Performance optimizations and support nullable types and honor NullImplication specification