refactor handling Option values in Node::parse