Option<int> valueAsInt(String key) { return getValue(key).fold(() => none(), (a) { if (a is IntegerDataField) { return a.value; } else { return none(); } }); }