nil is special value.
doc require option