added least_non_null; fixed up small documentation bug in least()