Add NullSubstitute support to queryable extensions; closes #538, #506