Returns Some with same value if predicate holds, None otherwise.
opt(1).filter(x => x > 0); // Some(1)opt(-1).filter(x => x > 0); // None
Returns Some with same value if predicate holds, None otherwise.