more save_c abstractions, add -nul for hash() and add option() method