do we need this branch? why is it not safe to return `Some(value)`? comment? Looks like we are doubling the getAs code here.