try { if (k in o){ if (func !== undefined){ return Some(func(o[k])); } else { return Some(o[k]); } } else { return None; } } catch (ex){ return None; }